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/seed36/stage_one_erm_model_b_epoch0_seed36.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: 16
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.0
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=16-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/seed36/stage_one_erm_model_b_epoch0_seed36.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8309, 0.0200],
        [0.1350, 0.0141]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.701 | Val Loss: 0.004 | Val Acc: 78.542
Training:
Accuracies by groups:
0, 0  acc:  5669 / 14412 =  39.335
0, 1  acc:  2793 /  6609 =  42.261
1, 0  acc: 130869 / 132994 =  98.402
1, 1  acc:  8303 /  8755 =  94.837
--------------------------------------
Average acc: 147634 / 162770 =  90.701
Robust  acc:  5669 / 14412 =  39.335
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6080 /  8535 =  71.236
0, 1  acc:  6504 /  8276 =  78.589
1, 0  acc:  2850 /  2874 =  99.165
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 15604 / 19867 =  78.542
Robust  acc:  6080 /  8535 =  71.236
------------------------------------
New max robust acc: 71.23608670181605
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed16.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed16.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 80.658
Robust Acc: 76.820 | Best Acc: 98.992
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7503 /  9767 =  76.820
0, 1  acc:  5971 /  7535 =  79.244
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16101 / 19962 =  80.658
Robust  acc:  7503 /  9767 =  76.820
------------------------------------
Accuracies by groups:
0, 0  acc:  7503 /  9767 =  76.820
0, 1  acc:  5971 /  7535 =  79.244
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16101 / 19962 =  80.658
Robust  acc:  7503 /  9767 =  76.820
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7503 /  9767 =  76.820
0, 1  acc:  5971 /  7535 =  79.244
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16101 / 19962 =  80.658
Robust  acc:  7503 /  9767 =  76.820
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.618 | Val Loss: 0.003 | Val Acc: 83.838
Training:
Accuracies by groups:
0, 0  acc:  9126 / 14271 =  63.948
0, 1  acc:  4751 /  6588 =  72.116
1, 0  acc: 132027 / 133291 =  99.052
1, 1  acc:  8105 /  8620 =  94.026
--------------------------------------
Average acc: 154009 / 162770 =  94.618
Robust  acc:  9126 / 14271 =  63.948
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6477 /  8535 =  75.888
0, 1  acc:  7166 /  8276 =  86.588
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16656 / 19867 =  83.838
Robust  acc:  6477 /  8535 =  75.888
------------------------------------
New max robust acc: 75.88752196836556
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed16.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed16.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.362
Robust Acc: 81.048 | Best Acc: 98.750
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7916 /  9767 =  81.048
0, 1  acc:  6508 /  7535 =  86.370
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17040 / 19962 =  85.362
Robust  acc:  7916 /  9767 =  81.048
------------------------------------
Accuracies by groups:
0, 0  acc:  7916 /  9767 =  81.048
0, 1  acc:  6508 /  7535 =  86.370
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17040 / 19962 =  85.362
Robust  acc:  7916 /  9767 =  81.048
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7916 /  9767 =  81.048
0, 1  acc:  6508 /  7535 =  86.370
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17040 / 19962 =  85.362
Robust  acc:  7916 /  9767 =  81.048
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.339 | Val Loss: 0.002 | Val Acc: 86.782
Training:
Accuracies by groups:
0, 0  acc:  9676 / 14380 =  67.288
0, 1  acc:  5198 /  6494 =  80.043
1, 0  acc: 132273 / 133383 =  99.168
1, 1  acc:  8037 /  8513 =  94.409
--------------------------------------
Average acc: 155184 / 162770 =  95.339
Robust  acc:  9676 / 14380 =  67.288
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6758 /  8535 =  79.180
0, 1  acc:  7475 /  8276 =  90.321
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17241 / 19867 =  86.782
Robust  acc:  6758 /  8535 =  79.180
------------------------------------
New max robust acc: 79.17984768599882
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed16.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed16.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.737
Robust Acc: 83.629 | Best Acc: 98.266
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8168 /  9767 =  83.629
0, 1  acc:  6746 /  7535 =  89.529
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17514 / 19962 =  87.737
Robust  acc:  8168 /  9767 =  83.629
------------------------------------
Accuracies by groups:
0, 0  acc:  8168 /  9767 =  83.629
0, 1  acc:  6746 /  7535 =  89.529
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17514 / 19962 =  87.737
Robust  acc:  8168 /  9767 =  83.629
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8168 /  9767 =  83.629
0, 1  acc:  6746 /  7535 =  89.529
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17514 / 19962 =  87.737
Robust  acc:  8168 /  9767 =  83.629
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.811 | Val Loss: 0.003 | Val Acc: 86.566
Training:
Accuracies by groups:
0, 0  acc: 10100 / 14433 =  69.979
0, 1  acc:  5474 /  6544 =  83.649
1, 0  acc: 132343 / 133358 =  99.239
1, 1  acc:  8035 /  8435 =  95.258
--------------------------------------
Average acc: 155952 / 162770 =  95.811
Robust  acc: 10100 / 14433 =  69.979
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6669 /  8535 =  78.137
0, 1  acc:  7514 /  8276 =  90.793
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 17198 / 19867 =  86.566
Robust  acc:  6669 /  8535 =  78.137
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.662
Robust Acc: 82.861 | Best Acc: 98.629
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8093 /  9767 =  82.861
0, 1  acc:  6800 /  7535 =  90.246
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17499 / 19962 =  87.662
Robust  acc:  8093 /  9767 =  82.861
------------------------------------
Accuracies by groups:
0, 0  acc:  8093 /  9767 =  82.861
0, 1  acc:  6800 /  7535 =  90.246
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17499 / 19962 =  87.662
Robust  acc:  8093 /  9767 =  82.861
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8093 /  9767 =  82.861
0, 1  acc:  6800 /  7535 =  90.246
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17499 / 19962 =  87.662
Robust  acc:  8093 /  9767 =  82.861
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.281 | Val Loss: 0.002 | Val Acc: 88.836
Training:
Accuracies by groups:
0, 0  acc: 10442 / 14426 =  72.383
0, 1  acc:  5652 /  6625 =  85.313
1, 0  acc: 132321 / 133108 =  99.409
1, 1  acc:  8301 /  8611 =  96.400
--------------------------------------
Average acc: 156716 / 162770 =  96.281
Robust  acc: 10442 / 14426 =  72.383
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6951 /  8535 =  81.441
0, 1  acc:  7703 /  8276 =  93.076
1, 0  acc:  2825 /  2874 =  98.295
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17649 / 19867 =  88.836
Robust  acc:  6951 /  8535 =  81.441
------------------------------------
New max robust acc: 81.44112478031634
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed16.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed16.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.570
Robust Acc: 85.144 | Best Acc: 97.903
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8316 /  9767 =  85.144
0, 1  acc:  6981 /  7535 =  92.648
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17880 / 19962 =  89.570
Robust  acc:  8316 /  9767 =  85.144
------------------------------------
Accuracies by groups:
0, 0  acc:  8316 /  9767 =  85.144
0, 1  acc:  6981 /  7535 =  92.648
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17880 / 19962 =  89.570
Robust  acc:  8316 /  9767 =  85.144
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8316 /  9767 =  85.144
0, 1  acc:  6981 /  7535 =  92.648
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17880 / 19962 =  89.570
Robust  acc:  8316 /  9767 =  85.144
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.734 | Val Loss: 0.002 | Val Acc: 89.832
Training:
Accuracies by groups:
0, 0  acc: 10676 / 14422 =  74.026
0, 1  acc:  5683 /  6428 =  88.410
1, 0  acc: 132722 / 133343 =  99.534
1, 1  acc:  8373 /  8577 =  97.622
--------------------------------------
Average acc: 157454 / 162770 =  96.734
Robust  acc: 10676 / 14422 =  74.026
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7127 /  8535 =  83.503
0, 1  acc:  7739 /  8276 =  93.511
1, 0  acc:  2813 /  2874 =  97.878
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17847 / 19867 =  89.832
Robust  acc:  7127 /  8535 =  83.503
------------------------------------
New max robust acc: 83.50322202694787
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed16.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed16.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.377
Robust Acc: 85.556 | Best Acc: 97.621
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8443 /  9767 =  86.444
0, 1  acc:  7023 /  7535 =  93.205
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18041 / 19962 =  90.377
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8443 /  9767 =  86.444
0, 1  acc:  7023 /  7535 =  93.205
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18041 / 19962 =  90.377
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8443 /  9767 =  86.444
0, 1  acc:  7023 /  7535 =  93.205
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18041 / 19962 =  90.377
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.271 | Val Loss: 0.002 | Val Acc: 90.889
Training:
Accuracies by groups:
0, 0  acc: 11274 / 14585 =  77.299
0, 1  acc:  5864 /  6534 =  89.746
1, 0  acc: 132582 / 132952 =  99.722
1, 1  acc:  8608 /  8699 =  98.954
--------------------------------------
Average acc: 158328 / 162770 =  97.271
Robust  acc: 11274 / 14585 =  77.299
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7231 /  8535 =  84.722
0, 1  acc:  7853 /  8276 =  94.889
1, 0  acc:  2810 /  2874 =  97.773
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 18057 / 19867 =  90.889
Robust  acc:  7231 /  8535 =  84.722
------------------------------------
New max robust acc: 84.72173403632102
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed16.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed16.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.213
Robust Acc: 83.333 | Best Acc: 97.177
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8551 /  9767 =  87.550
0, 1  acc:  7097 /  7535 =  94.187
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18208 / 19962 =  91.213
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8551 /  9767 =  87.550
0, 1  acc:  7097 /  7535 =  94.187
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18208 / 19962 =  91.213
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8551 /  9767 =  87.550
0, 1  acc:  7097 /  7535 =  94.187
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18208 / 19962 =  91.213
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.753 | Val Loss: 0.002 | Val Acc: 91.755
Training:
Accuracies by groups:
0, 0  acc: 11728 / 14596 =  80.351
0, 1  acc:  6045 /  6608 =  91.480
1, 0  acc: 132859 / 133032 =  99.870
1, 1  acc:  8480 /  8534 =  99.367
--------------------------------------
Average acc: 159112 / 162770 =  97.753
Robust  acc: 11728 / 14596 =  80.351
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7331 /  8535 =  85.893
0, 1  acc:  7952 /  8276 =  96.085
1, 0  acc:  2792 /  2874 =  97.147
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 18229 / 19867 =  91.755
Robust  acc:   154 /   182 =  84.615
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.910
Robust Acc: 77.778 | Best Acc: 96.371
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8618 /  9767 =  88.236
0, 1  acc:  7199 /  7535 =  95.541
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18347 / 19962 =  91.910
Robust  acc:   140 /   180 =  77.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8618 /  9767 =  88.236
0, 1  acc:  7199 /  7535 =  95.541
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18347 / 19962 =  91.910
Robust  acc:   140 /   180 =  77.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8618 /  9767 =  88.236
0, 1  acc:  7199 /  7535 =  95.541
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18347 / 19962 =  91.910
Robust  acc:   140 /   180 =  77.778
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.255 | Val Loss: 0.002 | Val Acc: 91.800
Training:
Accuracies by groups:
0, 0  acc: 12233 / 14510 =  84.307
0, 1  acc:  6102 /  6528 =  93.474
1, 0  acc: 132952 / 133065 =  99.915
1, 1  acc:  8643 /  8667 =  99.723
--------------------------------------
Average acc: 159930 / 162770 =  98.255
Robust  acc: 12233 / 14510 =  84.307
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7364 /  8535 =  86.280
0, 1  acc:  7941 /  8276 =  95.952
1, 0  acc:  2778 /  2874 =  96.660
1, 1  acc:   155 /   182 =  85.165
------------------------------------
Average acc: 18238 / 19867 =  91.800
Robust  acc:   155 /   182 =  85.165
------------------------------------
New max robust acc: 85.16483516483517
debias model - Saving best checkpoint at epoch 8
replace: True
-> Updating checkpoint debias-wga-best_seed16.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed16.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.000
Robust Acc: 78.889 | Best Acc: 96.008
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8665 /  9767 =  88.717
0, 1  acc:  7177 /  7535 =  95.249
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18365 / 19962 =  92.000
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8665 /  9767 =  88.717
0, 1  acc:  7177 /  7535 =  95.249
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18365 / 19962 =  92.000
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8665 /  9767 =  88.717
0, 1  acc:  7177 /  7535 =  95.249
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18365 / 19962 =  92.000
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.416 | Val Loss: 0.002 | Val Acc: 92.666
Training:
Accuracies by groups:
0, 0  acc: 12490 / 14553 =  85.824
0, 1  acc:  6117 /  6483 =  94.354
1, 0  acc: 133109 / 133221 =  99.916
1, 1  acc:  8476 /  8513 =  99.565
--------------------------------------
Average acc: 160192 / 162770 =  98.416
Robust  acc: 12490 / 14553 =  85.824
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7502 /  8535 =  87.897
0, 1  acc:  8034 /  8276 =  97.076
1, 0  acc:  2732 /  2874 =  95.059
1, 1  acc:   142 /   182 =  78.022
------------------------------------
Average acc: 18410 / 19867 =  92.666
Robust  acc:   142 /   182 =  78.022
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.082
Robust Acc: 72.778 | Best Acc: 96.549
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8835 /  9767 =  90.458
0, 1  acc:  7275 /  7535 =  96.549
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18581 / 19962 =  93.082
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8835 /  9767 =  90.458
0, 1  acc:  7275 /  7535 =  96.549
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18581 / 19962 =  93.082
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8835 /  9767 =  90.458
0, 1  acc:  7275 /  7535 =  96.549
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18581 / 19962 =  93.082
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.532 | Val Loss: 0.002 | Val Acc: 92.455
Training:
Accuracies by groups:
0, 0  acc: 12546 / 14404 =  87.101
0, 1  acc:  6208 /  6534 =  95.011
1, 0  acc: 133029 / 133188 =  99.881
1, 1  acc:  8598 /  8644 =  99.468
--------------------------------------
Average acc: 160381 / 162770 =  98.532
Robust  acc: 12546 / 14404 =  87.101
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7495 /  8535 =  87.815
0, 1  acc:  7979 /  8276 =  96.411
1, 0  acc:  2745 /  2874 =  95.511
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 18368 / 19867 =  92.455
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.666
Robust Acc: 73.889 | Best Acc: 95.700
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8812 /  9767 =  90.222
0, 1  acc:  7211 /  7535 =  95.700
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18498 / 19962 =  92.666
Robust  acc:   133 /   180 =  73.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8812 /  9767 =  90.222
0, 1  acc:  7211 /  7535 =  95.700
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18498 / 19962 =  92.666
Robust  acc:   133 /   180 =  73.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8812 /  9767 =  90.222
0, 1  acc:  7211 /  7535 =  95.700
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18498 / 19962 =  92.666
Robust  acc:   133 /   180 =  73.889
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.282 | Val Loss: 0.001 | Val Acc: 94.106
Training:
Accuracies by groups:
0, 0  acc: 12326 / 14423 =  85.461
0, 1  acc:  6229 /  6589 =  94.536
1, 0  acc: 132902 / 133162 =  99.805
1, 1  acc:  8517 /  8596 =  99.081
--------------------------------------
Average acc: 159974 / 162770 =  98.282
Robust  acc: 12326 / 14423 =  85.461
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7869 /  8535 =  92.197
0, 1  acc:  8126 /  8276 =  98.188
1, 0  acc:  2578 /  2874 =  89.701
1, 1  acc:   123 /   182 =  67.582
------------------------------------
Average acc: 18696 / 19867 =  94.106
Robust  acc:   123 /   182 =  67.582
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.369
Robust Acc: 60.000 | Best Acc: 97.770
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  9169 /  9767 =  93.877
0, 1  acc:  7367 /  7535 =  97.770
1, 0  acc:  2194 /  2480 =  88.468
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18838 / 19962 =  94.369
Robust  acc:   108 /   180 =  60.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9169 /  9767 =  93.877
0, 1  acc:  7367 /  7535 =  97.770
1, 0  acc:  2194 /  2480 =  88.468
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18838 / 19962 =  94.369
Robust  acc:   108 /   180 =  60.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9169 /  9767 =  93.877
0, 1  acc:  7367 /  7535 =  97.770
1, 0  acc:  2194 /  2480 =  88.468
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18838 / 19962 =  94.369
Robust  acc:   108 /   180 =  60.000
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.818 | Val Loss: 0.002 | Val Acc: 93.255
Training:
Accuracies by groups:
0, 0  acc: 12077 / 14582 =  82.821
0, 1  acc:  6144 /  6608 =  92.978
1, 0  acc: 132597 / 133038 =  99.669
1, 1  acc:  8400 /  8542 =  98.338
--------------------------------------
Average acc: 159218 / 162770 =  97.818
Robust  acc: 12077 / 14582 =  82.821
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7662 /  8535 =  89.772
0, 1  acc:  8008 /  8276 =  96.762
1, 0  acc:  2705 /  2874 =  94.120
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18527 / 19867 =  93.255
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.347
Robust Acc: 70.000 | Best Acc: 96.297
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8943 /  9767 =  91.563
0, 1  acc:  7256 /  7535 =  96.297
1, 0  acc:  2309 /  2480 =  93.105
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18634 / 19962 =  93.347
Robust  acc:   126 /   180 =  70.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8943 /  9767 =  91.563
0, 1  acc:  7256 /  7535 =  96.297
1, 0  acc:  2309 /  2480 =  93.105
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18634 / 19962 =  93.347
Robust  acc:   126 /   180 =  70.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8943 /  9767 =  91.563
0, 1  acc:  7256 /  7535 =  96.297
1, 0  acc:  2309 /  2480 =  93.105
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18634 / 19962 =  93.347
Robust  acc:   126 /   180 =  70.000
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.468 | Val Loss: 0.003 | Val Acc: 86.858
Training:
Accuracies by groups:
0, 0  acc: 11414 / 14236 =  80.177
0, 1  acc:  6091 /  6621 =  91.995
1, 0  acc: 132751 / 133358 =  99.545
1, 1  acc:  8393 /  8555 =  98.106
--------------------------------------
Average acc: 158649 / 162770 =  97.468
Robust  acc: 11414 / 14236 =  80.177
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6650 /  8535 =  77.914
0, 1  acc:  7607 /  8276 =  91.916
1, 0  acc:  2832 /  2874 =  98.539
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17256 / 19867 =  86.858
Robust  acc:  6650 /  8535 =  77.914
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.631
Robust Acc: 82.154 | Best Acc: 98.185
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8024 /  9767 =  82.154
0, 1  acc:  6876 /  7535 =  91.254
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17493 / 19962 =  87.631
Robust  acc:  8024 /  9767 =  82.154
------------------------------------
Accuracies by groups:
0, 0  acc:  8024 /  9767 =  82.154
0, 1  acc:  6876 /  7535 =  91.254
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17493 / 19962 =  87.631
Robust  acc:  8024 /  9767 =  82.154
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8024 /  9767 =  82.154
0, 1  acc:  6876 /  7535 =  91.254
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17493 / 19962 =  87.631
Robust  acc:  8024 /  9767 =  82.154
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.892 | Val Loss: 0.002 | Val Acc: 90.250
Training:
Accuracies by groups:
0, 0  acc: 11186 / 14523 =  77.023
0, 1  acc:  5945 /  6605 =  90.008
1, 0  acc: 132216 / 133011 =  99.402
1, 1  acc:  8364 /  8631 =  96.906
--------------------------------------
Average acc: 157711 / 162770 =  96.892
Robust  acc: 11186 / 14523 =  77.023
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7143 /  8535 =  83.691
0, 1  acc:  7813 /  8276 =  94.406
1, 0  acc:  2814 /  2874 =  97.912
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 17930 / 19867 =  90.250
Robust  acc:  7143 /  8535 =  83.691
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.948
Robust Acc: 81.111 | Best Acc: 97.016
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8469 /  9767 =  86.710
0, 1  acc:  7134 /  7535 =  94.678
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18155 / 19962 =  90.948
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8469 /  9767 =  86.710
0, 1  acc:  7134 /  7535 =  94.678
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18155 / 19962 =  90.948
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8469 /  9767 =  86.710
0, 1  acc:  7134 /  7535 =  94.678
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18155 / 19962 =  90.948
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.469 | Val Loss: 0.001 | Val Acc: 94.629
Training:
Accuracies by groups:
0, 0  acc: 10774 / 14519 =  74.206
0, 1  acc:  5557 /  6321 =  87.913
1, 0  acc: 132232 / 133172 =  99.294
1, 1  acc:  8459 /  8758 =  96.586
--------------------------------------
Average acc: 157022 / 162770 =  96.469
Robust  acc: 10774 / 14519 =  74.206
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8073 /  8535 =  94.587
0, 1  acc:  8116 /  8276 =  98.067
1, 0  acc:  2487 /  2874 =  86.534
1, 1  acc:   124 /   182 =  68.132
------------------------------------
Average acc: 18800 / 19867 =  94.629
Robust  acc:   124 /   182 =  68.132
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.935
Robust Acc: 56.111 | Best Acc: 98.115
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  9352 /  9767 =  95.751
0, 1  acc:  7393 /  7535 =  98.115
1, 0  acc:  2105 /  2480 =  84.879
1, 1  acc:   101 /   180 =  56.111
------------------------------------
Average acc: 18951 / 19962 =  94.935
Robust  acc:   101 /   180 =  56.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9352 /  9767 =  95.751
0, 1  acc:  7393 /  7535 =  98.115
1, 0  acc:  2105 /  2480 =  84.879
1, 1  acc:   101 /   180 =  56.111
------------------------------------
Average acc: 18951 / 19962 =  94.935
Robust  acc:   101 /   180 =  56.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9352 /  9767 =  95.751
0, 1  acc:  7393 /  7535 =  98.115
1, 0  acc:  2105 /  2480 =  84.879
1, 1  acc:   101 /   180 =  56.111
------------------------------------
Average acc: 18951 / 19962 =  94.935
Robust  acc:   101 /   180 =  56.111
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 96.039 | Val Loss: 0.002 | Val Acc: 90.552
Training:
Accuracies by groups:
0, 0  acc: 10384 / 14405 =  72.086
0, 1  acc:  5723 /  6627 =  86.359
1, 0  acc: 132006 / 133134 =  99.153
1, 1  acc:  8209 /  8604 =  95.409
--------------------------------------
Average acc: 156322 / 162770 =  96.039
Robust  acc: 10384 / 14405 =  72.086
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7302 /  8535 =  85.554
0, 1  acc:  7744 /  8276 =  93.572
1, 0  acc:  2781 /  2874 =  96.764
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17990 / 19867 =  90.552
Robust  acc:  7302 /  8535 =  85.554
------------------------------------
New max robust acc: 85.5536028119508
debias model - Saving best checkpoint at epoch 16
replace: True
-> Updating checkpoint debias-wga-best_seed16.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed16.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.273
Robust Acc: 82.222 | Best Acc: 96.129
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  8654 /  9767 =  88.604
0, 1  acc:  7034 /  7535 =  93.351
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18220 / 19962 =  91.273
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8654 /  9767 =  88.604
0, 1  acc:  7034 /  7535 =  93.351
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18220 / 19962 =  91.273
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8654 /  9767 =  88.604
0, 1  acc:  7034 /  7535 =  93.351
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18220 / 19962 =  91.273
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.594 | Val Loss: 0.002 | Val Acc: 91.503
Training:
Accuracies by groups:
0, 0  acc: 10087 / 14454 =  69.787
0, 1  acc:  5626 /  6661 =  84.462
1, 0  acc: 131694 / 132997 =  99.020
1, 1  acc:  8192 /  8658 =  94.618
--------------------------------------
Average acc: 155599 / 162770 =  95.594
Robust  acc: 10087 / 14454 =  69.787
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7491 /  8535 =  87.768
0, 1  acc:  7789 /  8276 =  94.116
1, 0  acc:  2739 /  2874 =  95.303
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 18179 / 19867 =  91.503
Robust  acc:  7491 /  8535 =  87.768
------------------------------------
New max robust acc: 87.76801405975395
debias model - Saving best checkpoint at epoch 17
replace: True
-> Updating checkpoint debias-wga-best_seed16.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed16.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.270
Robust Acc: 82.778 | Best Acc: 94.919
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  8834 /  9767 =  90.447
0, 1  acc:  7082 /  7535 =  93.988
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18419 / 19962 =  92.270
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8834 /  9767 =  90.447
0, 1  acc:  7082 /  7535 =  93.988
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18419 / 19962 =  92.270
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8834 /  9767 =  90.447
0, 1  acc:  7082 /  7535 =  93.988
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18419 / 19962 =  92.270
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.375 | Val Loss: 0.003 | Val Acc: 85.614
Training:
Accuracies by groups:
0, 0  acc: 10092 / 14618 =  69.038
0, 1  acc:  5368 /  6546 =  82.004
1, 0  acc: 131617 / 133000 =  98.960
1, 1  acc:  8165 /  8606 =  94.876
--------------------------------------
Average acc: 155242 / 162770 =  95.375
Robust  acc: 10092 / 14618 =  69.038
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6632 /  8535 =  77.704
0, 1  acc:  7373 /  8276 =  89.089
1, 0  acc:  2833 /  2874 =  98.573
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17009 / 19867 =  85.614
Robust  acc:  6632 /  8535 =  77.704
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.065
Robust Acc: 82.205 | Best Acc: 98.387
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  8029 /  9767 =  82.205
0, 1  acc:  6750 /  7535 =  89.582
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17380 / 19962 =  87.065
Robust  acc:  8029 /  9767 =  82.205
------------------------------------
Accuracies by groups:
0, 0  acc:  8029 /  9767 =  82.205
0, 1  acc:  6750 /  7535 =  89.582
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17380 / 19962 =  87.065
Robust  acc:  8029 /  9767 =  82.205
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8029 /  9767 =  82.205
0, 1  acc:  6750 /  7535 =  89.582
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17380 / 19962 =  87.065
Robust  acc:  8029 /  9767 =  82.205
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.086 | Val Loss: 0.004 | Val Acc: 80.727
Training:
Accuracies by groups:
0, 0  acc:  9578 / 14378 =  66.616
0, 1  acc:  5174 /  6543 =  79.077
1, 0  acc: 131758 / 133101 =  98.991
1, 1  acc:  8261 /  8748 =  94.433
--------------------------------------
Average acc: 154771 / 162770 =  95.086
Robust  acc:  9578 / 14378 =  66.616
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6347 /  8535 =  74.364
0, 1  acc:  6663 /  8276 =  80.510
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 16038 / 19867 =  80.727
Robust  acc:  6347 /  8535 =  74.364
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.582
Robust Acc: 79.492 | Best Acc: 98.992
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  7764 /  9767 =  79.492
0, 1  acc:  6094 /  7535 =  80.876
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16485 / 19962 =  82.582
Robust  acc:  7764 /  9767 =  79.492
------------------------------------
Accuracies by groups:
0, 0  acc:  7764 /  9767 =  79.492
0, 1  acc:  6094 /  7535 =  80.876
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16485 / 19962 =  82.582
Robust  acc:  7764 /  9767 =  79.492
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7764 /  9767 =  79.492
0, 1  acc:  6094 /  7535 =  80.876
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16485 / 19962 =  82.582
Robust  acc:  7764 /  9767 =  79.492
------------------------------------
Epoch:  21 | Train Loss: 0.001 | Train Acc: 94.885 | Val Loss: 0.004 | Val Acc: 82.438
Training:
Accuracies by groups:
0, 0  acc:  9292 / 14296 =  64.997
0, 1  acc:  4991 /  6475 =  77.081
1, 0  acc: 132031 / 133430 =  98.952
1, 1  acc:  8130 /  8569 =  94.877
--------------------------------------
Average acc: 154444 / 162770 =  94.885
Robust  acc:  9292 / 14296 =  64.997
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6503 /  8535 =  76.192
0, 1  acc:  6869 /  8276 =  82.999
1, 0  acc:  2830 /  2874 =  98.469
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16378 / 19867 =  82.438
Robust  acc:  6503 /  8535 =  76.192
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.904
Robust Acc: 81.509 | Best Acc: 98.145
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  7961 /  9767 =  81.509
0, 1  acc:  6184 /  7535 =  82.070
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16749 / 19962 =  83.904
Robust  acc:  7961 /  9767 =  81.509
------------------------------------
Accuracies by groups:
0, 0  acc:  7961 /  9767 =  81.509
0, 1  acc:  6184 /  7535 =  82.070
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16749 / 19962 =  83.904
Robust  acc:  7961 /  9767 =  81.509
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7961 /  9767 =  81.509
0, 1  acc:  6184 /  7535 =  82.070
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16749 / 19962 =  83.904
Robust  acc:  7961 /  9767 =  81.509
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.706 | Val Loss: 0.006 | Val Acc: 69.301
Training:
Accuracies by groups:
0, 0  acc:  9305 / 14498 =  64.181
0, 1  acc:  4939 /  6617 =  74.641
1, 0  acc: 131589 / 132898 =  99.015
1, 1  acc:  8320 /  8757 =  95.010
--------------------------------------
Average acc: 154153 / 162770 =  94.706
Robust  acc:  9305 / 14498 =  64.181
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5292 /  8535 =  62.004
0, 1  acc:  5434 /  8276 =  65.660
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 13768 / 19867 =  69.301
Robust  acc:  5292 /  8535 =  62.004
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 71.015
Robust Acc: 65.654 | Best Acc: 99.597
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  6581 /  9767 =  67.380
0, 1  acc:  4947 /  7535 =  65.654
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14176 / 19962 =  71.015
Robust  acc:  4947 /  7535 =  65.654
------------------------------------
Accuracies by groups:
0, 0  acc:  6581 /  9767 =  67.380
0, 1  acc:  4947 /  7535 =  65.654
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14176 / 19962 =  71.015
Robust  acc:  4947 /  7535 =  65.654
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6581 /  9767 =  67.380
0, 1  acc:  4947 /  7535 =  65.654
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14176 / 19962 =  71.015
Robust  acc:  4947 /  7535 =  65.654
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.614 | Val Loss: 0.005 | Val Acc: 71.365
Training:
Accuracies by groups:
0, 0  acc:  8939 / 14293 =  62.541
0, 1  acc:  4777 /  6483 =  73.685
1, 0  acc: 132179 / 133470 =  99.033
1, 1  acc:  8109 /  8524 =  95.131
--------------------------------------
Average acc: 154004 / 162770 =  94.614
Robust  acc:  8939 / 14293 =  62.541
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5466 /  8535 =  64.042
0, 1  acc:  5681 /  8276 =  68.644
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 14178 / 19867 =  71.365
Robust  acc:  5466 /  8535 =  64.042
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.039
Robust Acc: 68.587 | Best Acc: 99.395
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  6771 /  9767 =  69.325
0, 1  acc:  5168 /  7535 =  68.587
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14580 / 19962 =  73.039
Robust  acc:  5168 /  7535 =  68.587
------------------------------------
Accuracies by groups:
0, 0  acc:  6771 /  9767 =  69.325
0, 1  acc:  5168 /  7535 =  68.587
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14580 / 19962 =  73.039
Robust  acc:  5168 /  7535 =  68.587
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6771 /  9767 =  69.325
0, 1  acc:  5168 /  7535 =  68.587
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14580 / 19962 =  73.039
Robust  acc:  5168 /  7535 =  68.587
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.462 | Val Loss: 0.005 | Val Acc: 76.282
Training:
Accuracies by groups:
0, 0  acc:  9008 / 14520 =  62.039
0, 1  acc:  4677 /  6511 =  71.832
1, 0  acc: 131905 / 133172 =  99.049
1, 1  acc:  8166 /  8567 =  95.319
--------------------------------------
Average acc: 153756 / 162770 =  94.462
Robust  acc:  9008 / 14520 =  62.039
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5846 /  8535 =  68.494
0, 1  acc:  6272 /  8276 =  75.785
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15155 / 19867 =  76.282
Robust  acc:  5846 /  8535 =  68.494
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.394
Robust Acc: 74.516 | Best Acc: 99.234
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  7278 /  9767 =  74.516
0, 1  acc:  5738 /  7535 =  76.151
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15649 / 19962 =  78.394
Robust  acc:  7278 /  9767 =  74.516
------------------------------------
Accuracies by groups:
0, 0  acc:  7278 /  9767 =  74.516
0, 1  acc:  5738 /  7535 =  76.151
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15649 / 19962 =  78.394
Robust  acc:  7278 /  9767 =  74.516
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7278 /  9767 =  74.516
0, 1  acc:  5738 /  7535 =  76.151
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15649 / 19962 =  78.394
Robust  acc:  7278 /  9767 =  74.516
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.499 | Val Loss: 0.006 | Val Acc: 69.079
Training:
Accuracies by groups:
0, 0  acc:  8989 / 14412 =  62.372
0, 1  acc:  4732 /  6553 =  72.211
1, 0  acc: 131957 / 133285 =  99.004
1, 1  acc:  8138 /  8520 =  95.516
--------------------------------------
Average acc: 153816 / 162770 =  94.499
Robust  acc:  8989 / 14412 =  62.372
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5090 /  8535 =  59.637
0, 1  acc:  5588 /  8276 =  67.521
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13724 / 19867 =  69.079
Robust  acc:  5090 /  8535 =  59.637
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 70.579
Robust Acc: 65.291 | Best Acc: 99.476
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  6377 /  9767 =  65.291
0, 1  acc:  5070 /  7535 =  67.286
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14089 / 19962 =  70.579
Robust  acc:  6377 /  9767 =  65.291
------------------------------------
Accuracies by groups:
0, 0  acc:  6377 /  9767 =  65.291
0, 1  acc:  5070 /  7535 =  67.286
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14089 / 19962 =  70.579
Robust  acc:  6377 /  9767 =  65.291
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6377 /  9767 =  65.291
0, 1  acc:  5070 /  7535 =  67.286
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14089 / 19962 =  70.579
Robust  acc:  6377 /  9767 =  65.291
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.381 | Val Loss: 0.003 | Val Acc: 92.873
Training:
Accuracies by groups:
0, 0  acc:  8946 / 14567 =  61.413
0, 1  acc:  4717 /  6641 =  71.028
1, 0  acc: 131739 / 132942 =  99.095
1, 1  acc:  8222 /  8620 =  95.383
--------------------------------------
Average acc: 153624 / 162770 =  94.381
Robust  acc:  8946 / 14567 =  61.413
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7958 /  8535 =  93.240
0, 1  acc:  7926 /  8276 =  95.771
1, 0  acc:  2434 /  2874 =  84.690
1, 1  acc:   133 /   182 =  73.077
------------------------------------
Average acc: 18451 / 19867 =  92.873
Robust  acc:   133 /   182 =  73.077
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.448
Robust Acc: 67.222 | Best Acc: 95.674
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  9253 /  9767 =  94.737
0, 1  acc:  7209 /  7535 =  95.674
1, 0  acc:  2071 /  2480 =  83.508
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18654 / 19962 =  93.448
Robust  acc:   121 /   180 =  67.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9253 /  9767 =  94.737
0, 1  acc:  7209 /  7535 =  95.674
1, 0  acc:  2071 /  2480 =  83.508
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18654 / 19962 =  93.448
Robust  acc:   121 /   180 =  67.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9253 /  9767 =  94.737
0, 1  acc:  7209 /  7535 =  95.674
1, 0  acc:  2071 /  2480 =  83.508
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18654 / 19962 =  93.448
Robust  acc:   121 /   180 =  67.222
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.193 | Val Loss: 0.004 | Val Acc: 82.650
Training:
Accuracies by groups:
0, 0  acc:  8582 / 14386 =  59.655
0, 1  acc:  4472 /  6610 =  67.655
1, 0  acc: 132043 / 133159 =  99.162
1, 1  acc:  8221 /  8615 =  95.427
--------------------------------------
Average acc: 153318 / 162770 =  94.193
Robust  acc:  8582 / 14386 =  59.655
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6605 /  8535 =  77.387
0, 1  acc:  6807 /  8276 =  82.250
1, 0  acc:  2828 /  2874 =  98.399
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 16420 / 19867 =  82.650
Robust  acc:  6605 /  8535 =  77.387
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.115
Robust Acc: 81.448 | Best Acc: 97.903
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  7955 /  9767 =  81.448
0, 1  acc:  6245 /  7535 =  82.880
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16791 / 19962 =  84.115
Robust  acc:  7955 /  9767 =  81.448
------------------------------------
Accuracies by groups:
0, 0  acc:  7955 /  9767 =  81.448
0, 1  acc:  6245 /  7535 =  82.880
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16791 / 19962 =  84.115
Robust  acc:  7955 /  9767 =  81.448
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7955 /  9767 =  81.448
0, 1  acc:  6245 /  7535 =  82.880
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16791 / 19962 =  84.115
Robust  acc:  7955 /  9767 =  81.448
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.198 | Val Loss: 0.005 | Val Acc: 78.014
Training:
Accuracies by groups:
0, 0  acc:  8550 / 14437 =  59.223
0, 1  acc:  4448 /  6632 =  67.069
1, 0  acc: 132068 / 133081 =  99.239
1, 1  acc:  8260 /  8620 =  95.824
--------------------------------------
Average acc: 153326 / 162770 =  94.198
Robust  acc:  8550 / 14437 =  59.223
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5839 /  8535 =  68.412
0, 1  acc:  6621 /  8276 =  80.002
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15499 / 19867 =  78.014
Robust  acc:  5839 /  8535 =  68.412
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.551
Robust Acc: 74.055 | Best Acc: 99.153
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  7233 /  9767 =  74.055
0, 1  acc:  6015 /  7535 =  79.827
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15880 / 19962 =  79.551
Robust  acc:  7233 /  9767 =  74.055
------------------------------------
Accuracies by groups:
0, 0  acc:  7233 /  9767 =  74.055
0, 1  acc:  6015 /  7535 =  79.827
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15880 / 19962 =  79.551
Robust  acc:  7233 /  9767 =  74.055
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7233 /  9767 =  74.055
0, 1  acc:  6015 /  7535 =  79.827
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15880 / 19962 =  79.551
Robust  acc:  7233 /  9767 =  74.055
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.114 | Val Loss: 0.007 | Val Acc: 57.341
Training:
Accuracies by groups:
0, 0  acc:  8345 / 14340 =  58.194
0, 1  acc:  4466 /  6722 =  66.439
1, 0  acc: 132075 / 133055 =  99.263
1, 1  acc:  8303 /  8653 =  95.955
--------------------------------------
Average acc: 153189 / 162770 =  94.114
Robust  acc:  8345 / 14340 =  58.194
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3982 /  8535 =  46.655
0, 1  acc:  4362 /  8276 =  52.707
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11392 / 19867 =  57.341
Robust  acc:  3982 /  8535 =  46.655
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 57.710
Robust Acc: 50.855 | Best Acc: 99.919
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  4967 /  9767 =  50.855
0, 1  acc:  3897 /  7535 =  51.719
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11520 / 19962 =  57.710
Robust  acc:  4967 /  9767 =  50.855
------------------------------------
Accuracies by groups:
0, 0  acc:  4967 /  9767 =  50.855
0, 1  acc:  3897 /  7535 =  51.719
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11520 / 19962 =  57.710
Robust  acc:  4967 /  9767 =  50.855
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4967 /  9767 =  50.855
0, 1  acc:  3897 /  7535 =  51.719
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11520 / 19962 =  57.710
Robust  acc:  4967 /  9767 =  50.855
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 94.199 | Val Loss: 0.009 | Val Acc: 41.018
Training:
Accuracies by groups:
0, 0  acc:  8536 / 14571 =  58.582
0, 1  acc:  4217 /  6389 =  66.004
1, 0  acc: 132292 / 133222 =  99.302
1, 1  acc:  8282 /  8588 =  96.437
--------------------------------------
Average acc: 153327 / 162770 =  94.199
Robust  acc:  8536 / 14571 =  58.582
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1984 /  8535 =  23.245
0, 1  acc:  3110 /  8276 =  37.579
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  8149 / 19867 =  41.018
Robust  acc:  1984 /  8535 =  23.245
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 40.006
Robust Acc: 26.723 | Best Acc: 99.919
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  2610 /  9767 =  26.723
0, 1  acc:  2720 /  7535 =  36.098
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7986 / 19962 =  40.006
Robust  acc:  2610 /  9767 =  26.723
------------------------------------
Accuracies by groups:
0, 0  acc:  2610 /  9767 =  26.723
0, 1  acc:  2720 /  7535 =  36.098
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7986 / 19962 =  40.006
Robust  acc:  2610 /  9767 =  26.723
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2610 /  9767 =  26.723
0, 1  acc:  2720 /  7535 =  36.098
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7986 / 19962 =  40.006
Robust  acc:  2610 /  9767 =  26.723
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 94.039 | Val Loss: 0.004 | Val Acc: 83.827
Training:
Accuracies by groups:
0, 0  acc:  8555 / 14702 =  58.189
0, 1  acc:  4301 /  6552 =  65.644
1, 0  acc: 132003 / 132989 =  99.259
1, 1  acc:  8208 /  8527 =  96.259
--------------------------------------
Average acc: 153067 / 162770 =  94.039
Robust  acc:  8555 / 14702 =  58.189
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6664 /  8535 =  78.079
0, 1  acc:  7024 /  8276 =  84.872
1, 0  acc:  2799 /  2874 =  97.390
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 16654 / 19867 =  83.827
Robust  acc:  6664 /  8535 =  78.079
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.282
Robust Acc: 82.728 | Best Acc: 96.855
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  8080 /  9767 =  82.728
0, 1  acc:  6382 /  7535 =  84.698
1, 0  acc:  2402 /  2480 =  96.855
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17024 / 19962 =  85.282
Robust  acc:  8080 /  9767 =  82.728
------------------------------------
Accuracies by groups:
0, 0  acc:  8080 /  9767 =  82.728
0, 1  acc:  6382 /  7535 =  84.698
1, 0  acc:  2402 /  2480 =  96.855
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17024 / 19962 =  85.282
Robust  acc:  8080 /  9767 =  82.728
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8080 /  9767 =  82.728
0, 1  acc:  6382 /  7535 =  84.698
1, 0  acc:  2402 /  2480 =  96.855
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17024 / 19962 =  85.282
Robust  acc:  8080 /  9767 =  82.728
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 94.101 | Val Loss: 0.007 | Val Acc: 57.281
Training:
Accuracies by groups:
0, 0  acc:  8346 / 14417 =  57.890
0, 1  acc:  4227 /  6519 =  64.841
1, 0  acc: 132297 / 133223 =  99.305
1, 1  acc:  8298 /  8611 =  96.365
--------------------------------------
Average acc: 153168 / 162770 =  94.101
Robust  acc:  8346 / 14417 =  57.890
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4073 /  8535 =  47.721
0, 1  acc:  4254 /  8276 =  51.402
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11380 / 19867 =  57.281
Robust  acc:  4073 /  8535 =  47.721
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 58.707
Robust Acc: 51.241 | Best Acc: 99.798
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  5206 /  9767 =  53.302
0, 1  acc:  3861 /  7535 =  51.241
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11719 / 19962 =  58.707
Robust  acc:  3861 /  7535 =  51.241
------------------------------------
Accuracies by groups:
0, 0  acc:  5206 /  9767 =  53.302
0, 1  acc:  3861 /  7535 =  51.241
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11719 / 19962 =  58.707
Robust  acc:  3861 /  7535 =  51.241
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5206 /  9767 =  53.302
0, 1  acc:  3861 /  7535 =  51.241
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11719 / 19962 =  58.707
Robust  acc:  3861 /  7535 =  51.241
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 94.008 | Val Loss: 0.006 | Val Acc: 68.646
Training:
Accuracies by groups:
0, 0  acc:  8309 / 14540 =  57.146
0, 1  acc:  4318 /  6652 =  64.913
1, 0  acc: 131868 / 132749 =  99.336
1, 1  acc:  8522 /  8829 =  96.523
--------------------------------------
Average acc: 153017 / 162770 =  94.008
Robust  acc:  8309 / 14540 =  57.146
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5153 /  8535 =  60.375
0, 1  acc:  5448 /  8276 =  65.829
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13638 / 19867 =  68.646
Robust  acc:  5153 /  8535 =  60.375
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 70.369
Robust Acc: 65.640 | Best Acc: 99.315
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  6463 /  9767 =  66.172
0, 1  acc:  4946 /  7535 =  65.640
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14047 / 19962 =  70.369
Robust  acc:  4946 /  7535 =  65.640
------------------------------------
Accuracies by groups:
0, 0  acc:  6463 /  9767 =  66.172
0, 1  acc:  4946 /  7535 =  65.640
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14047 / 19962 =  70.369
Robust  acc:  4946 /  7535 =  65.640
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6463 /  9767 =  66.172
0, 1  acc:  4946 /  7535 =  65.640
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14047 / 19962 =  70.369
Robust  acc:  4946 /  7535 =  65.640
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 94.106 | Val Loss: 0.011 | Val Acc: 23.486
Training:
Accuracies by groups:
0, 0  acc:  8301 / 14399 =  57.650
0, 1  acc:  4408 /  6683 =  65.958
1, 0  acc: 132237 / 133168 =  99.301
1, 1  acc:  8230 /  8520 =  96.596
--------------------------------------
Average acc: 153176 / 162770 =  94.106
Robust  acc:  8301 / 14399 =  57.650
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:   364 /  8535 =   4.265
0, 1  acc:  1246 /  8276 =  15.056
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  4666 / 19867 =  23.486
Robust  acc:   364 /  8535 =   4.265
------------------------------------
-------------------------------------------
Avg Test Loss: 0.011 | Avg Test Acc: 21.571
Robust Acc: 6.389 | Best Acc: 100.000
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:   624 /  9767 =   6.389
0, 1  acc:  1023 /  7535 =  13.577
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  4306 / 19962 =  21.571
Robust  acc:   624 /  9767 =   6.389
------------------------------------
Accuracies by groups:
0, 0  acc:   624 /  9767 =   6.389
0, 1  acc:  1023 /  7535 =  13.577
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  4306 / 19962 =  21.571
Robust  acc:   624 /  9767 =   6.389
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:   624 /  9767 =   6.389
0, 1  acc:  1023 /  7535 =  13.577
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  4306 / 19962 =  21.571
Robust  acc:   624 /  9767 =   6.389
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 94.200 | Val Loss: 0.005 | Val Acc: 75.703
Training:
Accuracies by groups:
0, 0  acc:  8424 / 14436 =  58.354
0, 1  acc:  4217 /  6426 =  65.624
1, 0  acc: 132491 / 133396 =  99.322
1, 1  acc:  8198 /  8512 =  96.311
--------------------------------------
Average acc: 153330 / 162770 =  94.200
Robust  acc:  8424 / 14436 =  58.354
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5811 /  8535 =  68.084
0, 1  acc:  6198 /  8276 =  74.891
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15040 / 19867 =  75.703
Robust  acc:  5811 /  8535 =  68.084
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.387
Robust Acc: 73.359 | Best Acc: 99.153
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  7165 /  9767 =  73.359
0, 1  acc:  5650 /  7535 =  74.983
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15448 / 19962 =  77.387
Robust  acc:  7165 /  9767 =  73.359
------------------------------------
Accuracies by groups:
0, 0  acc:  7165 /  9767 =  73.359
0, 1  acc:  5650 /  7535 =  74.983
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15448 / 19962 =  77.387
Robust  acc:  7165 /  9767 =  73.359
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7165 /  9767 =  73.359
0, 1  acc:  5650 /  7535 =  74.983
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15448 / 19962 =  77.387
Robust  acc:  7165 /  9767 =  73.359
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 94.070 | Val Loss: 0.004 | Val Acc: 85.106
Training:
Accuracies by groups:
0, 0  acc:  8246 / 14403 =  57.252
0, 1  acc:  4227 /  6482 =  65.211
1, 0  acc: 132307 / 133252 =  99.291
1, 1  acc:  8338 /  8633 =  96.583
--------------------------------------
Average acc: 153118 / 162770 =  94.070
Robust  acc:  8246 / 14403 =  57.252
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6624 /  8535 =  77.610
0, 1  acc:  7287 /  8276 =  88.050
1, 0  acc:  2828 /  2874 =  98.399
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 16908 / 19867 =  85.106
Robust  acc:  6624 /  8535 =  77.610
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.610
Robust Acc: 82.123 | Best Acc: 98.468
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  8021 /  9767 =  82.123
0, 1  acc:  6666 /  7535 =  88.467
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17289 / 19962 =  86.610
Robust  acc:  8021 /  9767 =  82.123
------------------------------------
Accuracies by groups:
0, 0  acc:  8021 /  9767 =  82.123
0, 1  acc:  6666 /  7535 =  88.467
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17289 / 19962 =  86.610
Robust  acc:  8021 /  9767 =  82.123
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8021 /  9767 =  82.123
0, 1  acc:  6666 /  7535 =  88.467
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17289 / 19962 =  86.610
Robust  acc:  8021 /  9767 =  82.123
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 94.046 | Val Loss: 0.004 | Val Acc: 87.306
Training:
Accuracies by groups:
0, 0  acc:  8244 / 14310 =  57.610
0, 1  acc:  4188 /  6476 =  64.670
1, 0  acc: 132435 / 133435 =  99.251
1, 1  acc:  8212 /  8549 =  96.058
--------------------------------------
Average acc: 153079 / 162770 =  94.046
Robust  acc:  8244 / 14310 =  57.610
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7149 /  8535 =  83.761
0, 1  acc:  7263 /  8276 =  87.760
1, 0  acc:  2763 /  2874 =  96.138
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17345 / 19867 =  87.306
Robust  acc:  7149 /  8535 =  83.761
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 88.463
Robust Acc: 85.556 | Best Acc: 95.565
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  8516 /  9767 =  87.192
0, 1  acc:  6619 /  7535 =  87.843
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17659 / 19962 =  88.463
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8516 /  9767 =  87.192
0, 1  acc:  6619 /  7535 =  87.843
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17659 / 19962 =  88.463
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8516 /  9767 =  87.192
0, 1  acc:  6619 /  7535 =  87.843
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17659 / 19962 =  88.463
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.114 | Val Loss: 0.004 | Val Acc: 89.022
Training:
Accuracies by groups:
0, 0  acc:  8499 / 14543 =  58.440
0, 1  acc:  4312 /  6515 =  66.186
1, 0  acc: 132208 / 133225 =  99.237
1, 1  acc:  8170 /  8487 =  96.265
--------------------------------------
Average acc: 153189 / 162770 =  94.114
Robust  acc:  8499 / 14543 =  58.440
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7120 /  8535 =  83.421
0, 1  acc:  7633 /  8276 =  92.231
1, 0  acc:  2776 /  2874 =  96.590
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 17686 / 19867 =  89.022
Robust  acc:  7120 /  8535 =  83.421
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.041
Robust Acc: 83.333 | Best Acc: 95.927
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  8487 /  9767 =  86.895
0, 1  acc:  6958 /  7535 =  92.342
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 17974 / 19962 =  90.041
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8487 /  9767 =  86.895
0, 1  acc:  6958 /  7535 =  92.342
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 17974 / 19962 =  90.041
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8487 /  9767 =  86.895
0, 1  acc:  6958 /  7535 =  92.342
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 17974 / 19962 =  90.041
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.156 | Val Loss: 0.005 | Val Acc: 75.432
Training:
Accuracies by groups:
0, 0  acc:  8606 / 14574 =  59.050
0, 1  acc:  4367 /  6549 =  66.682
1, 0  acc: 131984 / 133033 =  99.211
1, 1  acc:  8300 /  8614 =  96.355
--------------------------------------
Average acc: 153257 / 162770 =  94.156
Robust  acc:  8606 / 14574 =  59.050
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5856 /  8535 =  68.612
0, 1  acc:  6097 /  8276 =  73.671
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14986 / 19867 =  75.432
Robust  acc:  5856 /  8535 =  68.612
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.866
Robust Acc: 73.165 | Best Acc: 99.073
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  7201 /  9767 =  73.728
0, 1  acc:  5513 /  7535 =  73.165
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15344 / 19962 =  76.866
Robust  acc:  5513 /  7535 =  73.165
------------------------------------
Accuracies by groups:
0, 0  acc:  7201 /  9767 =  73.728
0, 1  acc:  5513 /  7535 =  73.165
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15344 / 19962 =  76.866
Robust  acc:  5513 /  7535 =  73.165
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7201 /  9767 =  73.728
0, 1  acc:  5513 /  7535 =  73.165
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15344 / 19962 =  76.866
Robust  acc:  5513 /  7535 =  73.165
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.166 | Val Loss: 0.004 | Val Acc: 85.312
Training:
Accuracies by groups:
0, 0  acc:  8547 / 14545 =  58.762
0, 1  acc:  4320 /  6437 =  67.112
1, 0  acc: 132170 / 133211 =  99.219
1, 1  acc:  8237 /  8577 =  96.036
--------------------------------------
Average acc: 153274 / 162770 =  94.166
Robust  acc:  8547 / 14545 =  58.762
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6894 /  8535 =  80.773
0, 1  acc:  7092 /  8276 =  85.694
1, 0  acc:  2795 /  2874 =  97.251
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 16949 / 19867 =  85.312
Robust  acc:  6894 /  8535 =  80.773
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.755
Robust Acc: 85.226 | Best Acc: 96.452
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  8324 /  9767 =  85.226
0, 1  acc:  6446 /  7535 =  85.547
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17318 / 19962 =  86.755
Robust  acc:  8324 /  9767 =  85.226
------------------------------------
Accuracies by groups:
0, 0  acc:  8324 /  9767 =  85.226
0, 1  acc:  6446 /  7535 =  85.547
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17318 / 19962 =  86.755
Robust  acc:  8324 /  9767 =  85.226
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8324 /  9767 =  85.226
0, 1  acc:  6446 /  7535 =  85.547
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17318 / 19962 =  86.755
Robust  acc:  8324 /  9767 =  85.226
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.123 | Val Loss: 0.003 | Val Acc: 92.057
Training:
Accuracies by groups:
0, 0  acc:  8608 / 14608 =  58.927
0, 1  acc:  4377 /  6583 =  66.489
1, 0  acc: 131841 / 132860 =  99.233
1, 1  acc:  8378 /  8719 =  96.089
--------------------------------------
Average acc: 153204 / 162770 =  94.123
Robust  acc:  8608 / 14608 =  58.927
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7749 /  8535 =  90.791
0, 1  acc:  7786 /  8276 =  94.079
1, 0  acc:  2605 /  2874 =  90.640
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 18289 / 19867 =  92.057
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.791
Robust Acc: 74.444 | Best Acc: 94.253
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  9071 /  9767 =  92.874
0, 1  acc:  7102 /  7535 =  94.253
1, 0  acc:  2216 /  2480 =  89.355
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18523 / 19962 =  92.791
Robust  acc:   134 /   180 =  74.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9071 /  9767 =  92.874
0, 1  acc:  7102 /  7535 =  94.253
1, 0  acc:  2216 /  2480 =  89.355
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18523 / 19962 =  92.791
Robust  acc:   134 /   180 =  74.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9071 /  9767 =  92.874
0, 1  acc:  7102 /  7535 =  94.253
1, 0  acc:  2216 /  2480 =  89.355
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18523 / 19962 =  92.791
Robust  acc:   134 /   180 =  74.444
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.151 | Val Loss: 0.005 | Val Acc: 81.175
Training:
Accuracies by groups:
0, 0  acc:  8477 / 14368 =  58.999
0, 1  acc:  4358 /  6571 =  66.322
1, 0  acc: 132220 / 133300 =  99.190
1, 1  acc:  8195 /  8531 =  96.061
--------------------------------------
Average acc: 153250 / 162770 =  94.151
Robust  acc:  8477 / 14368 =  58.999
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6454 /  8535 =  75.618
0, 1  acc:  6673 /  8276 =  80.631
1, 0  acc:  2823 /  2874 =  98.225
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16127 / 19867 =  81.175
Robust  acc:  6454 /  8535 =  75.618
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.677
Robust Acc: 80.106 | Best Acc: 97.782
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  7824 /  9767 =  80.106
0, 1  acc:  6086 /  7535 =  80.770
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16504 / 19962 =  82.677
Robust  acc:  7824 /  9767 =  80.106
------------------------------------
Accuracies by groups:
0, 0  acc:  7824 /  9767 =  80.106
0, 1  acc:  6086 /  7535 =  80.770
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16504 / 19962 =  82.677
Robust  acc:  7824 /  9767 =  80.106
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7824 /  9767 =  80.106
0, 1  acc:  6086 /  7535 =  80.770
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16504 / 19962 =  82.677
Robust  acc:  7824 /  9767 =  80.106
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.248 | Val Loss: 0.006 | Val Acc: 70.605
Training:
Accuracies by groups:
0, 0  acc:  8614 / 14496 =  59.423
0, 1  acc:  4453 /  6551 =  67.974
1, 0  acc: 132013 / 133071 =  99.205
1, 1  acc:  8328 /  8652 =  96.255
--------------------------------------
Average acc: 153408 / 162770 =  94.248
Robust  acc:  8614 / 14496 =  59.423
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5169 /  8535 =  60.562
0, 1  acc:  5814 /  8276 =  70.251
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14027 / 19867 =  70.605
Robust  acc:  5169 /  8535 =  60.562
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.347
Robust Acc: 66.254 | Best Acc: 99.435
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  6471 /  9767 =  66.254
0, 1  acc:  5328 /  7535 =  70.710
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14442 / 19962 =  72.347
Robust  acc:  6471 /  9767 =  66.254
------------------------------------
Accuracies by groups:
0, 0  acc:  6471 /  9767 =  66.254
0, 1  acc:  5328 /  7535 =  70.710
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14442 / 19962 =  72.347
Robust  acc:  6471 /  9767 =  66.254
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6471 /  9767 =  66.254
0, 1  acc:  5328 /  7535 =  70.710
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14442 / 19962 =  72.347
Robust  acc:  6471 /  9767 =  66.254
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.175 | Val Loss: 0.004 | Val Acc: 88.242
Training:
Accuracies by groups:
0, 0  acc:  8566 / 14530 =  58.954
0, 1  acc:  4383 /  6552 =  66.896
1, 0  acc: 131876 / 132882 =  99.243
1, 1  acc:  8463 /  8806 =  96.105
--------------------------------------
Average acc: 153288 / 162770 =  94.175
Robust  acc:  8566 / 14530 =  58.954
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7130 /  8535 =  83.538
0, 1  acc:  7462 /  8276 =  90.164
1, 0  acc:  2776 /  2874 =  96.590
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17531 / 19867 =  88.242
Robust  acc:  7130 /  8535 =  83.538
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 89.330
Robust Acc: 84.444 | Best Acc: 95.927
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  8516 /  9767 =  87.192
0, 1  acc:  6785 /  7535 =  90.046
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17832 / 19962 =  89.330
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8516 /  9767 =  87.192
0, 1  acc:  6785 /  7535 =  90.046
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17832 / 19962 =  89.330
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8516 /  9767 =  87.192
0, 1  acc:  6785 /  7535 =  90.046
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17832 / 19962 =  89.330
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.212 | Val Loss: 0.006 | Val Acc: 66.965
Training:
Accuracies by groups:
0, 0  acc:  8514 / 14426 =  59.018
0, 1  acc:  4608 /  6719 =  68.582
1, 0  acc: 131899 / 132948 =  99.211
1, 1  acc:  8328 /  8677 =  95.978
--------------------------------------
Average acc: 153349 / 162770 =  94.212
Robust  acc:  8514 / 14426 =  59.018
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4945 /  8535 =  57.938
0, 1  acc:  5332 /  8276 =  64.427
1, 0  acc:  2850 /  2874 =  99.165
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 13304 / 19867 =  66.965
Robust  acc:  4945 /  8535 =  57.938
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 67.408
Robust Acc: 62.332 | Best Acc: 98.750
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  6088 /  9767 =  62.332
0, 1  acc:  4747 /  7535 =  62.999
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 13456 / 19962 =  67.408
Robust  acc:  6088 /  9767 =  62.332
------------------------------------
Accuracies by groups:
0, 0  acc:  6088 /  9767 =  62.332
0, 1  acc:  4747 /  7535 =  62.999
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 13456 / 19962 =  67.408
Robust  acc:  6088 /  9767 =  62.332
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6088 /  9767 =  62.332
0, 1  acc:  4747 /  7535 =  62.999
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 13456 / 19962 =  67.408
Robust  acc:  6088 /  9767 =  62.332
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.350 | Val Loss: 0.005 | Val Acc: 74.641
Training:
Accuracies by groups:
0, 0  acc:  8833 / 14514 =  60.858
0, 1  acc:  4401 /  6500 =  67.708
1, 0  acc: 132063 / 133125 =  99.202
1, 1  acc:  8276 /  8631 =  95.887
--------------------------------------
Average acc: 153573 / 162770 =  94.350
Robust  acc:  8833 / 14514 =  60.858
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5942 /  8535 =  69.619
0, 1  acc:  5861 /  8276 =  70.819
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14829 / 19867 =  74.641
Robust  acc:  5942 /  8535 =  69.619
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.565
Robust Acc: 71.360 | Best Acc: 98.790
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  7281 /  9767 =  74.547
0, 1  acc:  5377 /  7535 =  71.360
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15284 / 19962 =  76.565
Robust  acc:  5377 /  7535 =  71.360
------------------------------------
Accuracies by groups:
0, 0  acc:  7281 /  9767 =  74.547
0, 1  acc:  5377 /  7535 =  71.360
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15284 / 19962 =  76.565
Robust  acc:  5377 /  7535 =  71.360
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7281 /  9767 =  74.547
0, 1  acc:  5377 /  7535 =  71.360
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15284 / 19962 =  76.565
Robust  acc:  5377 /  7535 =  71.360
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.325 | Val Loss: 0.003 | Val Acc: 90.431
Training:
Accuracies by groups:
0, 0  acc:  8741 / 14501 =  60.279
0, 1  acc:  4582 /  6661 =  68.788
1, 0  acc: 131911 / 132962 =  99.210
1, 1  acc:  8299 /  8646 =  95.987
--------------------------------------
Average acc: 153533 / 162770 =  94.325
Robust  acc:  8741 / 14501 =  60.279
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7405 /  8535 =  86.760
0, 1  acc:  7660 /  8276 =  92.557
1, 0  acc:  2746 /  2874 =  95.546
1, 1  acc:   155 /   182 =  85.165
------------------------------------
Average acc: 17966 / 19867 =  90.431
Robust  acc:   155 /   182 =  85.165
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.369
Robust Acc: 78.889 | Best Acc: 94.758
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  8737 /  9767 =  89.454
0, 1  acc:  7010 /  7535 =  93.033
1, 0  acc:  2350 /  2480 =  94.758
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18239 / 19962 =  91.369
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8737 /  9767 =  89.454
0, 1  acc:  7010 /  7535 =  93.033
1, 0  acc:  2350 /  2480 =  94.758
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18239 / 19962 =  91.369
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8737 /  9767 =  89.454
0, 1  acc:  7010 /  7535 =  93.033
1, 0  acc:  2350 /  2480 =  94.758
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18239 / 19962 =  91.369
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.229 | Val Loss: 0.004 | Val Acc: 85.629
Training:
Accuracies by groups:
0, 0  acc:  8964 / 14865 =  60.303
0, 1  acc:  4535 /  6570 =  69.026
1, 0  acc: 131655 / 132763 =  99.165
1, 1  acc:  8222 /  8572 =  95.917
--------------------------------------
Average acc: 153376 / 162770 =  94.229
Robust  acc:  8964 / 14865 =  60.303
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6822 /  8535 =  79.930
0, 1  acc:  7207 /  8276 =  87.083
1, 0  acc:  2813 /  2874 =  97.878
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17012 / 19867 =  85.629
Robust  acc:  6822 /  8535 =  79.930
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 87.256
Robust Acc: 84.315 | Best Acc: 97.782
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  8235 /  9767 =  84.315
0, 1  acc:  6599 /  7535 =  87.578
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17418 / 19962 =  87.256
Robust  acc:  8235 /  9767 =  84.315
------------------------------------
Accuracies by groups:
0, 0  acc:  8235 /  9767 =  84.315
0, 1  acc:  6599 /  7535 =  87.578
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17418 / 19962 =  87.256
Robust  acc:  8235 /  9767 =  84.315
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8235 /  9767 =  84.315
0, 1  acc:  6599 /  7535 =  87.578
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17418 / 19962 =  87.256
Robust  acc:  8235 /  9767 =  84.315
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.358 | Val Loss: 0.005 | Val Acc: 73.559
Training:
Accuracies by groups:
0, 0  acc:  8768 / 14433 =  60.750
0, 1  acc:  4522 /  6604 =  68.474
1, 0  acc: 131941 / 133048 =  99.168
1, 1  acc:  8355 /  8685 =  96.200
--------------------------------------
Average acc: 153586 / 162770 =  94.358
Robust  acc:  8768 / 14433 =  60.750
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5596 /  8535 =  65.565
0, 1  acc:  5989 /  8276 =  72.366
1, 0  acc:  2850 /  2874 =  99.165
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14614 / 19867 =  73.559
Robust  acc:  5596 /  8535 =  65.565
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.802
Robust Acc: 70.329 | Best Acc: 98.548
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  6869 /  9767 =  70.329
0, 1  acc:  5444 /  7535 =  72.250
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14932 / 19962 =  74.802
Robust  acc:  6869 /  9767 =  70.329
------------------------------------
Accuracies by groups:
0, 0  acc:  6869 /  9767 =  70.329
0, 1  acc:  5444 /  7535 =  72.250
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14932 / 19962 =  74.802
Robust  acc:  6869 /  9767 =  70.329
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6869 /  9767 =  70.329
0, 1  acc:  5444 /  7535 =  72.250
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14932 / 19962 =  74.802
Robust  acc:  6869 /  9767 =  70.329
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.293 | Val Loss: 0.006 | Val Acc: 66.935
Training:
Accuracies by groups:
0, 0  acc:  8785 / 14570 =  60.295
0, 1  acc:  4484 /  6492 =  69.070
1, 0  acc: 132054 / 133194 =  99.144
1, 1  acc:  8158 /  8514 =  95.819
--------------------------------------
Average acc: 153481 / 162770 =  94.293
Robust  acc:  8785 / 14570 =  60.295
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4743 /  8535 =  55.571
0, 1  acc:  5517 /  8276 =  66.663
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13298 / 19867 =  66.935
Robust  acc:  4743 /  8535 =  55.571
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.400
Robust Acc: 61.093 | Best Acc: 99.355
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  5967 /  9767 =  61.093
0, 1  acc:  5048 /  7535 =  66.994
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13654 / 19962 =  68.400
Robust  acc:  5967 /  9767 =  61.093
------------------------------------
Accuracies by groups:
0, 0  acc:  5967 /  9767 =  61.093
0, 1  acc:  5048 /  7535 =  66.994
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13654 / 19962 =  68.400
Robust  acc:  5967 /  9767 =  61.093
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5967 /  9767 =  61.093
0, 1  acc:  5048 /  7535 =  66.994
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13654 / 19962 =  68.400
Robust  acc:  5967 /  9767 =  61.093
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed16.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed16.pt
