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/seed32/stage_one_erm_model_b_epoch0_seed32.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: 32
Replicate: 0
No cuda: False
Resume: False
New slice: False
Num workers: 12
Evaluate: False
Data cmap: hsv
Test cmap: 
P correlation: 0.9
P corr by class: None
Train classes: ['blond', 'nonblond']
Train class ratios: None
Test shift: random
Flipped: False
Q: 0.7
Pretrained bmodel: True
Cosine: False
Exp: ours
Tau: 1.1
Gamma: None
Remove label noise: False
Model for remove samples: 
Remove ratio: 0.03
Supervised contrast: True
Prioritize spurious pos: False
Contrastive type: cnc
Compute auroc: False
Model type: resnet50_pt_cnc
Criterion: cross_entropy
Pretrained: False
Max grad norm: 1.0
Adam epsilon: 1e-08
Warmup steps: 0
Max grad norm s: 1.0
Adam epsilon s: 1e-08
Warmup steps s: 0
Grad max grad norm: 1.0
Grad adam epsilon: 1e-08
Grad warmup steps: 0
Device: cuda
Img file type: .png
Display image: False
Image path: ./images/celebA/celebA/config/contrastive_umaps
Log interval: 1
Log path: ./logs/celebA/config
Results path: ./results/celebA/config
Model path: ./model/celebA/config
Loss factor: 1
Supersample labels: False
Subsample labels: False
Weigh slice samples by loss: True
Val split: 0.2
Spurious train split: 0.2
Subsample groups: False
Train method: sc
Max robust acc: -1
Max robust epoch: -1
Max robust group acc: (None, None)
Root dir: ./datasets/data/CelebA/
Target name: Blond_Hair
Confounder names: ['Male']
Image mean: 0.449
Image std: 0.226
Augment data: False
Task: celebA
Num classes: 2
Experiment configs: config
Experiment name: cnc-celebA-sw=re-na=32-np=32-nn=32-nne=0-tsr=1-t=0.05-bf=None-cw=0.5-sud=0-me=50-bst=128-o=sgd-lr=0.0001-mo=0.9-wd=0.1-wdc=0.1-spur-me=1-bst=32-lr=0.001-mo=0.9-wd=0.0005-sts=0.2-s=32-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/seed32/stage_one_erm_model_b_epoch0_seed32.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8203, 0.0306],
        [0.1280, 0.0211]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 89.228 | Val Loss: 0.003 | Val Acc: 84.170
Training:
Accuracies by groups:
0, 0  acc: 11423 / 21525 =  53.069
0, 1  acc:  5946 /  9766 =  60.885
1, 0  acc: 120305 / 123192 =  97.657
1, 1  acc:  7563 /  8287 =  91.263
--------------------------------------
Average acc: 145237 / 162770 =  89.228
Robust  acc: 11423 / 21525 =  53.069
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6619 /  8535 =  77.551
0, 1  acc:  7114 /  8276 =  85.959
1, 0  acc:  2829 /  2874 =  98.434
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 16722 / 19867 =  84.170
Robust  acc:  6619 /  8535 =  77.551
------------------------------------
New max robust acc: 77.55125951962508
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed32.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed32.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 86.054
Robust Acc: 82.635 | Best Acc: 98.226
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  8071 /  9767 =  82.635
0, 1  acc:  6511 /  7535 =  86.410
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17178 / 19962 =  86.054
Robust  acc:  8071 /  9767 =  82.635
------------------------------------
Accuracies by groups:
0, 0  acc:  8071 /  9767 =  82.635
0, 1  acc:  6511 /  7535 =  86.410
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17178 / 19962 =  86.054
Robust  acc:  8071 /  9767 =  82.635
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8071 /  9767 =  82.635
0, 1  acc:  6511 /  7535 =  86.410
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17178 / 19962 =  86.054
Robust  acc:  8071 /  9767 =  82.635
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 93.190 | Val Loss: 0.002 | Val Acc: 87.844
Training:
Accuracies by groups:
0, 0  acc: 14983 / 21497 =  69.698
0, 1  acc:  8121 /  9981 =  81.365
1, 0  acc: 121043 / 122951 =  98.448
1, 1  acc:  7538 /  8341 =  90.373
--------------------------------------
Average acc: 151685 / 162770 =  93.190
Robust  acc: 14983 / 21497 =  69.698
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6891 /  8535 =  80.738
0, 1  acc:  7572 /  8276 =  91.493
1, 0  acc:  2825 /  2874 =  98.295
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 17452 / 19867 =  87.844
Robust  acc:  6891 /  8535 =  80.738
------------------------------------
New max robust acc: 80.73813708260106
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed32.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed32.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.779
Robust Acc: 84.601 | Best Acc: 98.024
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8263 /  9767 =  84.601
0, 1  acc:  6875 /  7535 =  91.241
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17722 / 19962 =  88.779
Robust  acc:  8263 /  9767 =  84.601
------------------------------------
Accuracies by groups:
0, 0  acc:  8263 /  9767 =  84.601
0, 1  acc:  6875 /  7535 =  91.241
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17722 / 19962 =  88.779
Robust  acc:  8263 /  9767 =  84.601
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8263 /  9767 =  84.601
0, 1  acc:  6875 /  7535 =  91.241
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17722 / 19962 =  88.779
Robust  acc:  8263 /  9767 =  84.601
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 94.101 | Val Loss: 0.002 | Val Acc: 89.374
Training:
Accuracies by groups:
0, 0  acc: 15603 / 21346 =  73.096
0, 1  acc:  8378 /  9825 =  85.272
1, 0  acc: 121632 / 123358 =  98.601
1, 1  acc:  7556 /  8241 =  91.688
--------------------------------------
Average acc: 153169 / 162770 =  94.101
Robust  acc: 15603 / 21346 =  73.096
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7072 /  8535 =  82.859
0, 1  acc:  7703 /  8276 =  93.076
1, 0  acc:  2818 /  2874 =  98.051
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17756 / 19867 =  89.374
Robust  acc:  7072 /  8535 =  82.859
------------------------------------
New max robust acc: 82.85881663737551
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed32.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed32.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.041
Robust Acc: 85.556 | Best Acc: 97.742
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8408 /  9767 =  86.086
0, 1  acc:  6988 /  7535 =  92.741
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17974 / 19962 =  90.041
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8408 /  9767 =  86.086
0, 1  acc:  6988 /  7535 =  92.741
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17974 / 19962 =  90.041
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8408 /  9767 =  86.086
0, 1  acc:  6988 /  7535 =  92.741
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17974 / 19962 =  90.041
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 94.770 | Val Loss: 0.002 | Val Acc: 90.985
Training:
Accuracies by groups:
0, 0  acc: 16308 / 21687 =  75.197
0, 1  acc:  8586 /  9758 =  87.989
1, 0  acc: 121662 / 123102 =  98.830
1, 1  acc:  7701 /  8223 =  93.652
--------------------------------------
Average acc: 154257 / 162770 =  94.770
Robust  acc: 16308 / 21687 =  75.197
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7275 /  8535 =  85.237
0, 1  acc:  7837 /  8276 =  94.696
1, 0  acc:  2801 /  2874 =  97.460
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 18076 / 19867 =  90.985
Robust  acc:  7275 /  8535 =  85.237
------------------------------------
New max robust acc: 85.23725834797891
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed32.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed32.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.389
Robust Acc: 81.111 | Best Acc: 96.815
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8582 /  9767 =  87.867
0, 1  acc:  7114 /  7535 =  94.413
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18243 / 19962 =  91.389
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8582 /  9767 =  87.867
0, 1  acc:  7114 /  7535 =  94.413
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18243 / 19962 =  91.389
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8582 /  9767 =  87.867
0, 1  acc:  7114 /  7535 =  94.413
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18243 / 19962 =  91.389
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 95.639 | Val Loss: 0.002 | Val Acc: 91.212
Training:
Accuracies by groups:
0, 0  acc: 16617 / 21293 =  78.040
0, 1  acc:  8946 /  9991 =  89.541
1, 0  acc: 122304 / 123347 =  99.154
1, 1  acc:  7804 /  8139 =  95.884
--------------------------------------
Average acc: 155671 / 162770 =  95.639
Robust  acc: 16617 / 21293 =  78.040
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7319 /  8535 =  85.753
0, 1  acc:  7844 /  8276 =  94.780
1, 0  acc:  2792 /  2874 =  97.147
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 18121 / 19867 =  91.212
Robust  acc:  7319 /  8535 =  85.753
------------------------------------
New max robust acc: 85.7527826596368
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed32.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed32.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.559
Robust Acc: 83.889 | Best Acc: 96.613
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8618 /  9767 =  88.236
0, 1  acc:  7112 /  7535 =  94.386
1, 0  acc:  2396 /  2480 =  96.613
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18277 / 19962 =  91.559
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8618 /  9767 =  88.236
0, 1  acc:  7112 /  7535 =  94.386
1, 0  acc:  2396 /  2480 =  96.613
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18277 / 19962 =  91.559
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8618 /  9767 =  88.236
0, 1  acc:  7112 /  7535 =  94.386
1, 0  acc:  2396 /  2480 =  96.613
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18277 / 19962 =  91.559
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.537 | Val Loss: 0.002 | Val Acc: 91.569
Training:
Accuracies by groups:
0, 0  acc: 17357 / 21460 =  80.881
0, 1  acc:  8901 /  9702 =  91.744
1, 0  acc: 123021 / 123585 =  99.544
1, 1  acc:  7854 /  8023 =  97.894
--------------------------------------
Average acc: 157133 / 162770 =  96.537
Robust  acc: 17357 / 21460 =  80.881
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7352 /  8535 =  86.139
0, 1  acc:  7903 /  8276 =  95.493
1, 0  acc:  2781 /  2874 =  96.764
1, 1  acc:   156 /   182 =  85.714
------------------------------------
Average acc: 18192 / 19867 =  91.569
Robust  acc:   156 /   182 =  85.714
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.910
Robust Acc: 80.556 | Best Acc: 96.290
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8655 /  9767 =  88.615
0, 1  acc:  7159 /  7535 =  95.010
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18347 / 19962 =  91.910
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8655 /  9767 =  88.615
0, 1  acc:  7159 /  7535 =  95.010
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18347 / 19962 =  91.910
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8655 /  9767 =  88.615
0, 1  acc:  7159 /  7535 =  95.010
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18347 / 19962 =  91.910
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.430 | Val Loss: 0.001 | Val Acc: 93.119
Training:
Accuracies by groups:
0, 0  acc: 18252 / 21481 =  84.968
0, 1  acc:  9331 /  9974 =  93.553
1, 0  acc: 122915 / 123156 =  99.804
1, 1  acc:  8089 /  8159 =  99.142
--------------------------------------
Average acc: 158587 / 162770 =  97.430
Robust  acc: 18252 / 21481 =  84.968
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7613 /  8535 =  89.197
0, 1  acc:  8024 /  8276 =  96.955
1, 0  acc:  2720 /  2874 =  94.642
1, 1  acc:   143 /   182 =  78.571
------------------------------------
Average acc: 18500 / 19867 =  93.119
Robust  acc:   143 /   182 =  78.571
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.513
Robust Acc: 70.000 | Best Acc: 96.749
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8913 /  9767 =  91.256
0, 1  acc:  7290 /  7535 =  96.749
1, 0  acc:  2338 /  2480 =  94.274
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18667 / 19962 =  93.513
Robust  acc:   126 /   180 =  70.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8913 /  9767 =  91.256
0, 1  acc:  7290 /  7535 =  96.749
1, 0  acc:  2338 /  2480 =  94.274
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18667 / 19962 =  93.513
Robust  acc:   126 /   180 =  70.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8913 /  9767 =  91.256
0, 1  acc:  7290 /  7535 =  96.749
1, 0  acc:  2338 /  2480 =  94.274
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18667 / 19962 =  93.513
Robust  acc:   126 /   180 =  70.000
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 98.136 | Val Loss: 0.001 | Val Acc: 93.280
Training:
Accuracies by groups:
0, 0  acc: 18857 / 21325 =  88.427
0, 1  acc:  9319 /  9755 =  95.530
1, 0  acc: 123236 / 123342 =  99.914
1, 1  acc:  8324 /  8348 =  99.713
--------------------------------------
Average acc: 159736 / 162770 =  98.136
Robust  acc: 18857 / 21325 =  88.427
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7665 /  8535 =  89.807
0, 1  acc:  8026 /  8276 =  96.979
1, 0  acc:  2698 /  2874 =  93.876
1, 1  acc:   143 /   182 =  78.571
------------------------------------
Average acc: 18532 / 19867 =  93.280
Robust  acc:   143 /   182 =  78.571
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.433
Robust Acc: 70.556 | Best Acc: 96.603
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8950 /  9767 =  91.635
0, 1  acc:  7279 /  7535 =  96.603
1, 0  acc:  2295 /  2480 =  92.540
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18651 / 19962 =  93.433
Robust  acc:   127 /   180 =  70.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8950 /  9767 =  91.635
0, 1  acc:  7279 /  7535 =  96.603
1, 0  acc:  2295 /  2480 =  92.540
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18651 / 19962 =  93.433
Robust  acc:   127 /   180 =  70.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8950 /  9767 =  91.635
0, 1  acc:  7279 /  7535 =  96.603
1, 0  acc:  2295 /  2480 =  92.540
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18651 / 19962 =  93.433
Robust  acc:   127 /   180 =  70.556
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.612 | Val Loss: 0.001 | Val Acc: 92.978
Training:
Accuracies by groups:
0, 0  acc: 19619 / 21444 =  91.489
0, 1  acc:  9500 /  9834 =  96.604
1, 0  acc: 123139 / 123217 =  99.937
1, 1  acc:  8253 /  8275 =  99.734
--------------------------------------
Average acc: 160511 / 162770 =  98.612
Robust  acc: 19619 / 21444 =  91.489
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7567 /  8535 =  88.658
0, 1  acc:  8039 /  8276 =  97.136
1, 0  acc:  2724 /  2874 =  94.781
1, 1  acc:   142 /   182 =  78.022
------------------------------------
Average acc: 18472 / 19867 =  92.978
Robust  acc:   142 /   182 =  78.022
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.257
Robust Acc: 69.444 | Best Acc: 96.802
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8871 /  9767 =  90.826
0, 1  acc:  7294 /  7535 =  96.802
1, 0  acc:  2326 /  2480 =  93.790
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18616 / 19962 =  93.257
Robust  acc:   125 /   180 =  69.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8871 /  9767 =  90.826
0, 1  acc:  7294 /  7535 =  96.802
1, 0  acc:  2326 /  2480 =  93.790
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18616 / 19962 =  93.257
Robust  acc:   125 /   180 =  69.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8871 /  9767 =  90.826
0, 1  acc:  7294 /  7535 =  96.802
1, 0  acc:  2326 /  2480 =  93.790
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18616 / 19962 =  93.257
Robust  acc:   125 /   180 =  69.444
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.849 | Val Loss: 0.001 | Val Acc: 94.186
Training:
Accuracies by groups:
0, 0  acc: 20053 / 21544 =  93.079
0, 1  acc:  9712 /  9971 =  97.402
1, 0  acc: 122974 / 123072 =  99.920
1, 1  acc:  8157 /  8183 =  99.682
--------------------------------------
Average acc: 160896 / 162770 =  98.849
Robust  acc: 20053 / 21544 =  93.079
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7814 /  8535 =  91.552
0, 1  acc:  8170 /  8276 =  98.719
1, 0  acc:  2621 /  2874 =  91.197
1, 1  acc:   107 /   182 =  58.791
------------------------------------
Average acc: 18712 / 19867 =  94.186
Robust  acc:   107 /   182 =  58.791
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.490
Robust Acc: 55.000 | Best Acc: 98.500
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9135 /  9767 =  93.529
0, 1  acc:  7422 /  7535 =  98.500
1, 0  acc:  2206 /  2480 =  88.952
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18862 / 19962 =  94.490
Robust  acc:    99 /   180 =  55.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9135 /  9767 =  93.529
0, 1  acc:  7422 /  7535 =  98.500
1, 0  acc:  2206 /  2480 =  88.952
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18862 / 19962 =  94.490
Robust  acc:    99 /   180 =  55.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9135 /  9767 =  93.529
0, 1  acc:  7422 /  7535 =  98.500
1, 0  acc:  2206 /  2480 =  88.952
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18862 / 19962 =  94.490
Robust  acc:    99 /   180 =  55.000
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.831 | Val Loss: 0.001 | Val Acc: 94.745
Training:
Accuracies by groups:
0, 0  acc: 20046 / 21485 =  93.302
0, 1  acc:  9722 /  9962 =  97.591
1, 0  acc: 122788 / 122968 =  99.854
1, 1  acc:  8312 /  8355 =  99.485
--------------------------------------
Average acc: 160868 / 162770 =  98.831
Robust  acc: 20046 / 21485 =  93.302
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8043 /  8535 =  94.236
0, 1  acc:  8179 /  8276 =  98.828
1, 0  acc:  2496 /  2874 =  86.848
1, 1  acc:   105 /   182 =  57.692
------------------------------------
Average acc: 18823 / 19867 =  94.745
Robust  acc:   105 /   182 =  57.692
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.715
Robust Acc: 52.222 | Best Acc: 98.301
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  9317 /  9767 =  95.393
0, 1  acc:  7407 /  7535 =  98.301
1, 0  acc:  2089 /  2480 =  84.234
1, 1  acc:    94 /   180 =  52.222
------------------------------------
Average acc: 18907 / 19962 =  94.715
Robust  acc:    94 /   180 =  52.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9317 /  9767 =  95.393
0, 1  acc:  7407 /  7535 =  98.301
1, 0  acc:  2089 /  2480 =  84.234
1, 1  acc:    94 /   180 =  52.222
------------------------------------
Average acc: 18907 / 19962 =  94.715
Robust  acc:    94 /   180 =  52.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9317 /  9767 =  95.393
0, 1  acc:  7407 /  7535 =  98.301
1, 0  acc:  2089 /  2480 =  84.234
1, 1  acc:    94 /   180 =  52.222
------------------------------------
Average acc: 18907 / 19962 =  94.715
Robust  acc:    94 /   180 =  52.222
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.475 | Val Loss: 0.001 | Val Acc: 93.245
Training:
Accuracies by groups:
0, 0  acc: 19898 / 21664 =  91.848
0, 1  acc:  9471 /  9751 =  97.128
1, 0  acc: 122717 / 123080 =  99.705
1, 1  acc:  8202 /  8275 =  99.118
--------------------------------------
Average acc: 160288 / 162770 =  98.475
Robust  acc: 19898 / 21664 =  91.848
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7636 /  8535 =  89.467
0, 1  acc:  8104 /  8276 =  97.922
1, 0  acc:  2667 /  2874 =  92.797
1, 1  acc:   118 /   182 =  64.835
------------------------------------
Average acc: 18525 / 19867 =  93.245
Robust  acc:   118 /   182 =  64.835
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.538
Robust Acc: 58.889 | Best Acc: 97.319
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8959 /  9767 =  91.727
0, 1  acc:  7333 /  7535 =  97.319
1, 0  acc:  2274 /  2480 =  91.694
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18672 / 19962 =  93.538
Robust  acc:   106 /   180 =  58.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8959 /  9767 =  91.727
0, 1  acc:  7333 /  7535 =  97.319
1, 0  acc:  2274 /  2480 =  91.694
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18672 / 19962 =  93.538
Robust  acc:   106 /   180 =  58.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8959 /  9767 =  91.727
0, 1  acc:  7333 /  7535 =  97.319
1, 0  acc:  2274 /  2480 =  91.694
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18672 / 19962 =  93.538
Robust  acc:   106 /   180 =  58.889
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.893 | Val Loss: 0.001 | Val Acc: 94.800
Training:
Accuracies by groups:
0, 0  acc: 19197 / 21445 =  89.517
0, 1  acc:  9442 /  9833 =  96.024
1, 0  acc: 122455 / 123091 =  99.483
1, 1  acc:  8247 /  8401 =  98.167
--------------------------------------
Average acc: 159341 / 162770 =  97.893
Robust  acc: 19197 / 21445 =  89.517
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8026 /  8535 =  94.036
0, 1  acc:  8157 /  8276 =  98.562
1, 0  acc:  2533 /  2874 =  88.135
1, 1  acc:   118 /   182 =  64.835
------------------------------------
Average acc: 18834 / 19867 =  94.800
Robust  acc:   118 /   182 =  64.835
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.960
Robust Acc: 59.444 | Best Acc: 98.381
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  9263 /  9767 =  94.840
0, 1  acc:  7413 /  7535 =  98.381
1, 0  acc:  2173 /  2480 =  87.621
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18956 / 19962 =  94.960
Robust  acc:   107 /   180 =  59.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9263 /  9767 =  94.840
0, 1  acc:  7413 /  7535 =  98.381
1, 0  acc:  2173 /  2480 =  87.621
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18956 / 19962 =  94.960
Robust  acc:   107 /   180 =  59.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9263 /  9767 =  94.840
0, 1  acc:  7413 /  7535 =  98.381
1, 0  acc:  2173 /  2480 =  87.621
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18956 / 19962 =  94.960
Robust  acc:   107 /   180 =  59.444
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.315 | Val Loss: 0.002 | Val Acc: 89.933
Training:
Accuracies by groups:
0, 0  acc: 18803 / 21615 =  86.991
0, 1  acc:  9496 /  9981 =  95.141
1, 0  acc: 122002 / 122837 =  99.320
1, 1  acc:  8098 /  8337 =  97.133
--------------------------------------
Average acc: 158399 / 162770 =  97.315
Robust  acc: 18803 / 21615 =  86.991
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7105 /  8535 =  83.245
0, 1  acc:  7789 /  8276 =  94.116
1, 0  acc:  2805 /  2874 =  97.599
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17867 / 19867 =  89.933
Robust  acc:  7105 /  8535 =  83.245
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.397
Robust Acc: 85.000 | Best Acc: 97.581
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8429 /  9767 =  86.301
0, 1  acc:  7043 /  7535 =  93.470
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18045 / 19962 =  90.397
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8429 /  9767 =  86.301
0, 1  acc:  7043 /  7535 =  93.470
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18045 / 19962 =  90.397
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8429 /  9767 =  86.301
0, 1  acc:  7043 /  7535 =  93.470
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18045 / 19962 =  90.397
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.674 | Val Loss: 0.002 | Val Acc: 93.034
Training:
Accuracies by groups:
0, 0  acc: 18210 / 21581 =  84.380
0, 1  acc:  9276 /  9910 =  93.602
1, 0  acc: 122082 / 123170 =  99.117
1, 1  acc:  7789 /  8109 =  96.054
--------------------------------------
Average acc: 157357 / 162770 =  96.674
Robust  acc: 18210 / 21581 =  84.380
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7508 /  8535 =  87.967
0, 1  acc:  8061 /  8276 =  97.402
1, 0  acc:  2770 /  2874 =  96.381
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 18483 / 19867 =  93.034
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.217
Robust Acc: 69.444 | Best Acc: 96.828
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8827 /  9767 =  90.376
0, 1  acc:  7296 /  7535 =  96.828
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18608 / 19962 =  93.217
Robust  acc:   125 /   180 =  69.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8827 /  9767 =  90.376
0, 1  acc:  7296 /  7535 =  96.828
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18608 / 19962 =  93.217
Robust  acc:   125 /   180 =  69.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8827 /  9767 =  90.376
0, 1  acc:  7296 /  7535 =  96.828
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18608 / 19962 =  93.217
Robust  acc:   125 /   180 =  69.444
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.232 | Val Loss: 0.003 | Val Acc: 86.410
Training:
Accuracies by groups:
0, 0  acc: 17566 / 21360 =  82.238
0, 1  acc:  9092 /  9835 =  92.445
1, 0  acc: 122182 / 123422 =  98.995
1, 1  acc:  7797 /  8153 =  95.634
--------------------------------------
Average acc: 156637 / 162770 =  96.232
Robust  acc: 17566 / 21360 =  82.238
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6551 /  8535 =  76.755
0, 1  acc:  7615 /  8276 =  92.013
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17167 / 19867 =  86.410
Robust  acc:  6551 /  8535 =  76.755
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.201
Robust Acc: 80.844 | Best Acc: 98.226
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  7896 /  9767 =  80.844
0, 1  acc:  6924 /  7535 =  91.891
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17407 / 19962 =  87.201
Robust  acc:  7896 /  9767 =  80.844
------------------------------------
Accuracies by groups:
0, 0  acc:  7896 /  9767 =  80.844
0, 1  acc:  6924 /  7535 =  91.891
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17407 / 19962 =  87.201
Robust  acc:  7896 /  9767 =  80.844
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7896 /  9767 =  80.844
0, 1  acc:  6924 /  7535 =  91.891
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17407 / 19962 =  87.201
Robust  acc:  7896 /  9767 =  80.844
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.549 | Val Loss: 0.003 | Val Acc: 85.519
Training:
Accuracies by groups:
0, 0  acc: 17078 / 21460 =  79.581
0, 1  acc:  9169 / 10039 =  91.334
1, 0  acc: 121570 / 123111 =  98.748
1, 1  acc:  7708 /  8160 =  94.461
--------------------------------------
Average acc: 155525 / 162770 =  95.549
Robust  acc: 17078 / 21460 =  79.581
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6557 /  8535 =  76.825
0, 1  acc:  7429 /  8276 =  89.766
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 16990 / 19867 =  85.519
Robust  acc:  6557 /  8535 =  76.825
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.028
Robust Acc: 80.813 | Best Acc: 98.347
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  7893 /  9767 =  80.813
0, 1  acc:  6684 /  7535 =  88.706
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17173 / 19962 =  86.028
Robust  acc:  7893 /  9767 =  80.813
------------------------------------
Accuracies by groups:
0, 0  acc:  7893 /  9767 =  80.813
0, 1  acc:  6684 /  7535 =  88.706
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17173 / 19962 =  86.028
Robust  acc:  7893 /  9767 =  80.813
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7893 /  9767 =  80.813
0, 1  acc:  6684 /  7535 =  88.706
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17173 / 19962 =  86.028
Robust  acc:  7893 /  9767 =  80.813
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 94.974 | Val Loss: 0.006 | Val Acc: 68.073
Training:
Accuracies by groups:
0, 0  acc: 16548 / 21521 =  76.892
0, 1  acc:  8888 /  9855 =  90.188
1, 0  acc: 121501 / 123239 =  98.590
1, 1  acc:  7652 /  8155 =  93.832
--------------------------------------
Average acc: 154589 / 162770 =  94.974
Robust  acc: 16548 / 21521 =  76.892
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4799 /  8535 =  56.227
0, 1  acc:  5677 /  8276 =  68.596
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 13524 / 19867 =  68.073
Robust  acc:  4799 /  8535 =  56.227
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 69.748
Robust Acc: 62.179 | Best Acc: 99.758
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  6073 /  9767 =  62.179
0, 1  acc:  5202 /  7535 =  69.038
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 13923 / 19962 =  69.748
Robust  acc:  6073 /  9767 =  62.179
------------------------------------
Accuracies by groups:
0, 0  acc:  6073 /  9767 =  62.179
0, 1  acc:  5202 /  7535 =  69.038
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 13923 / 19962 =  69.748
Robust  acc:  6073 /  9767 =  62.179
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6073 /  9767 =  62.179
0, 1  acc:  5202 /  7535 =  69.038
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 13923 / 19962 =  69.748
Robust  acc:  6073 /  9767 =  62.179
------------------------------------
Epoch:  19 | Train Loss: 0.002 | Train Acc: 94.490 | Val Loss: 0.003 | Val Acc: 88.549
Training:
Accuracies by groups:
0, 0  acc: 16219 / 21534 =  75.318
0, 1  acc:  8768 /  9928 =  88.316
1, 0  acc: 121081 / 123002 =  98.438
1, 1  acc:  7733 /  8306 =  93.101
--------------------------------------
Average acc: 153801 / 162770 =  94.490
Robust  acc: 16219 / 21534 =  75.318
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7067 /  8535 =  82.800
0, 1  acc:  7534 /  8276 =  91.034
1, 0  acc:  2818 /  2874 =  98.051
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17592 / 19867 =  88.549
Robust  acc:  7067 /  8535 =  82.800
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.660
Robust Acc: 86.106 | Best Acc: 97.540
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  8410 /  9767 =  86.106
0, 1  acc:  6911 /  7535 =  91.719
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17898 / 19962 =  89.660
Robust  acc:  8410 /  9767 =  86.106
------------------------------------
Accuracies by groups:
0, 0  acc:  8410 /  9767 =  86.106
0, 1  acc:  6911 /  7535 =  91.719
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17898 / 19962 =  89.660
Robust  acc:  8410 /  9767 =  86.106
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8410 /  9767 =  86.106
0, 1  acc:  6911 /  7535 =  91.719
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17898 / 19962 =  89.660
Robust  acc:  8410 /  9767 =  86.106
------------------------------------
Epoch:  20 | Train Loss: 0.002 | Train Acc: 93.967 | Val Loss: 0.003 | Val Acc: 84.844
Training:
Accuracies by groups:
0, 0  acc: 15858 / 21532 =  73.649
0, 1  acc:  8538 /  9865 =  86.548
1, 0  acc: 121083 / 123239 =  98.251
1, 1  acc:  7471 /  8134 =  91.849
--------------------------------------
Average acc: 152950 / 162770 =  93.967
Robust  acc: 15858 / 21532 =  73.649
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6746 /  8535 =  79.039
0, 1  acc:  7104 /  8276 =  85.839
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 16856 / 19867 =  84.844
Robust  acc:  6746 /  8535 =  79.039
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.334
Robust Acc: 83.045 | Best Acc: 98.024
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  8111 /  9767 =  83.045
0, 1  acc:  6523 /  7535 =  86.569
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 17234 / 19962 =  86.334
Robust  acc:  8111 /  9767 =  83.045
------------------------------------
Accuracies by groups:
0, 0  acc:  8111 /  9767 =  83.045
0, 1  acc:  6523 /  7535 =  86.569
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 17234 / 19962 =  86.334
Robust  acc:  8111 /  9767 =  83.045
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8111 /  9767 =  83.045
0, 1  acc:  6523 /  7535 =  86.569
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 17234 / 19962 =  86.334
Robust  acc:  8111 /  9767 =  83.045
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 93.714 | Val Loss: 0.003 | Val Acc: 87.235
Training:
Accuracies by groups:
0, 0  acc: 15497 / 21274 =  72.845
0, 1  acc:  8329 /  9808 =  84.920
1, 0  acc: 121251 / 123549 =  98.140
1, 1  acc:  7462 /  8139 =  91.682
--------------------------------------
Average acc: 152539 / 162770 =  93.714
Robust  acc: 15497 / 21274 =  72.845
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6801 /  8535 =  79.684
0, 1  acc:  7541 /  8276 =  91.119
1, 0  acc:  2821 /  2874 =  98.156
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17331 / 19867 =  87.235
Robust  acc:  6801 /  8535 =  79.684
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.478
Robust Acc: 83.567 | Best Acc: 97.742
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  8162 /  9767 =  83.567
0, 1  acc:  6921 /  7535 =  91.851
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17662 / 19962 =  88.478
Robust  acc:  8162 /  9767 =  83.567
------------------------------------
Accuracies by groups:
0, 0  acc:  8162 /  9767 =  83.567
0, 1  acc:  6921 /  7535 =  91.851
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17662 / 19962 =  88.478
Robust  acc:  8162 /  9767 =  83.567
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8162 /  9767 =  83.567
0, 1  acc:  6921 /  7535 =  91.851
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17662 / 19962 =  88.478
Robust  acc:  8162 /  9767 =  83.567
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 93.514 | Val Loss: 0.002 | Val Acc: 91.916
Training:
Accuracies by groups:
0, 0  acc: 15279 / 21512 =  71.025
0, 1  acc:  8273 /  9881 =  83.726
1, 0  acc: 121005 / 123111 =  98.289
1, 1  acc:  7656 /  8266 =  92.620
--------------------------------------
Average acc: 152213 / 162770 =  93.514
Robust  acc: 15279 / 21512 =  71.025
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7605 /  8535 =  89.104
0, 1  acc:  7799 /  8276 =  94.236
1, 0  acc:  2699 /  2874 =  93.911
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 18261 / 19867 =  91.916
Robust  acc:   158 /   182 =  86.813
------------------------------------
New max robust acc: 86.81318681318682
debias model - Saving best checkpoint at epoch 21
replace: True
-> Updating checkpoint debias-wga-best_seed32.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed32.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.811
Robust Acc: 77.222 | Best Acc: 94.638
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  8961 /  9767 =  91.748
0, 1  acc:  7131 /  7535 =  94.638
1, 0  acc:  2296 /  2480 =  92.581
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18527 / 19962 =  92.811
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8961 /  9767 =  91.748
0, 1  acc:  7131 /  7535 =  94.638
1, 0  acc:  2296 /  2480 =  92.581
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18527 / 19962 =  92.811
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8961 /  9767 =  91.748
0, 1  acc:  7131 /  7535 =  94.638
1, 0  acc:  2296 /  2480 =  92.581
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18527 / 19962 =  92.811
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 93.358 | Val Loss: 0.003 | Val Acc: 88.005
Training:
Accuracies by groups:
0, 0  acc: 15143 / 21492 =  70.459
0, 1  acc:  8135 /  9882 =  82.321
1, 0  acc: 120937 / 123028 =  98.300
1, 1  acc:  7744 /  8368 =  92.543
--------------------------------------
Average acc: 151959 / 162770 =  93.358
Robust  acc: 15143 / 21492 =  70.459
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6993 /  8535 =  81.933
0, 1  acc:  7529 /  8276 =  90.974
1, 0  acc:  2803 /  2874 =  97.530
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 17484 / 19867 =  88.005
Robust  acc:  6993 /  8535 =  81.933
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.465
Robust Acc: 81.111 | Best Acc: 96.774
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  8400 /  9767 =  86.004
0, 1  acc:  6913 /  7535 =  91.745
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 17859 / 19962 =  89.465
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8400 /  9767 =  86.004
0, 1  acc:  6913 /  7535 =  91.745
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 17859 / 19962 =  89.465
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8400 /  9767 =  86.004
0, 1  acc:  6913 /  7535 =  91.745
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 17859 / 19962 =  89.465
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 93.136 | Val Loss: 0.003 | Val Acc: 91.705
Training:
Accuracies by groups:
0, 0  acc: 14995 / 21561 =  69.547
0, 1  acc:  8020 /  9860 =  81.339
1, 0  acc: 120992 / 123085 =  98.300
1, 1  acc:  7591 /  8264 =  91.856
--------------------------------------
Average acc: 151598 / 162770 =  93.136
Robust  acc: 14995 / 21561 =  69.547
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7511 /  8535 =  88.002
0, 1  acc:  7829 /  8276 =  94.599
1, 0  acc:  2727 /  2874 =  94.885
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18219 / 19867 =  91.705
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.371
Robust Acc: 75.000 | Best Acc: 94.545
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  8866 /  9767 =  90.775
0, 1  acc:  7124 /  7535 =  94.545
1, 0  acc:  2314 /  2480 =  93.306
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18439 / 19962 =  92.371
Robust  acc:   135 /   180 =  75.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8866 /  9767 =  90.775
0, 1  acc:  7124 /  7535 =  94.545
1, 0  acc:  2314 /  2480 =  93.306
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18439 / 19962 =  92.371
Robust  acc:   135 /   180 =  75.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8866 /  9767 =  90.775
0, 1  acc:  7124 /  7535 =  94.545
1, 0  acc:  2314 /  2480 =  93.306
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18439 / 19962 =  92.371
Robust  acc:   135 /   180 =  75.000
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 93.084 | Val Loss: 0.003 | Val Acc: 93.225
Training:
Accuracies by groups:
0, 0  acc: 14955 / 21663 =  69.035
0, 1  acc:  7966 /  9840 =  80.955
1, 0  acc: 121086 / 123146 =  98.327
1, 1  acc:  7506 /  8121 =  92.427
--------------------------------------
Average acc: 151513 / 162770 =  93.084
Robust  acc: 14955 / 21663 =  69.035
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7672 /  8535 =  89.889
0, 1  acc:  8023 /  8276 =  96.943
1, 0  acc:  2690 /  2874 =  93.598
1, 1  acc:   136 /   182 =  74.725
------------------------------------
Average acc: 18521 / 19867 =  93.225
Robust  acc:   136 /   182 =  74.725
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.798
Robust Acc: 66.667 | Best Acc: 97.040
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  8996 /  9767 =  92.106
0, 1  acc:  7312 /  7535 =  97.040
1, 0  acc:  2296 /  2480 =  92.581
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18724 / 19962 =  93.798
Robust  acc:   120 /   180 =  66.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8996 /  9767 =  92.106
0, 1  acc:  7312 /  7535 =  97.040
1, 0  acc:  2296 /  2480 =  92.581
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18724 / 19962 =  93.798
Robust  acc:   120 /   180 =  66.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8996 /  9767 =  92.106
0, 1  acc:  7312 /  7535 =  97.040
1, 0  acc:  2296 /  2480 =  92.581
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18724 / 19962 =  93.798
Robust  acc:   120 /   180 =  66.667
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 93.020 | Val Loss: 0.006 | Val Acc: 64.106
Training:
Accuracies by groups:
0, 0  acc: 14903 / 21662 =  68.798
0, 1  acc:  8069 / 10023 =  80.505
1, 0  acc: 120849 / 122879 =  98.348
1, 1  acc:  7588 /  8206 =  92.469
--------------------------------------
Average acc: 151409 / 162770 =  93.020
Robust  acc: 14903 / 21662 =  68.798
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4500 /  8535 =  52.724
0, 1  acc:  5189 /  8276 =  62.699
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12736 / 19867 =  64.106
Robust  acc:  4500 /  8535 =  52.724
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.610
Robust Acc: 58.401 | Best Acc: 99.677
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  5704 /  9767 =  58.401
0, 1  acc:  4743 /  7535 =  62.946
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13097 / 19962 =  65.610
Robust  acc:  5704 /  9767 =  58.401
------------------------------------
Accuracies by groups:
0, 0  acc:  5704 /  9767 =  58.401
0, 1  acc:  4743 /  7535 =  62.946
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13097 / 19962 =  65.610
Robust  acc:  5704 /  9767 =  58.401
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5704 /  9767 =  58.401
0, 1  acc:  4743 /  7535 =  62.946
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13097 / 19962 =  65.610
Robust  acc:  5704 /  9767 =  58.401
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 92.943 | Val Loss: 0.003 | Val Acc: 92.253
Training:
Accuracies by groups:
0, 0  acc: 14682 / 21463 =  68.406
0, 1  acc:  7862 /  9873 =  79.631
1, 0  acc: 121259 / 123319 =  98.330
1, 1  acc:  7480 /  8115 =  92.175
--------------------------------------
Average acc: 151283 / 162770 =  92.943
Robust  acc: 14682 / 21463 =  68.406
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7569 /  8535 =  88.682
0, 1  acc:  7881 /  8276 =  95.227
1, 0  acc:  2728 /  2874 =  94.920
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 18328 / 19867 =  92.253
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.927
Robust Acc: 75.556 | Best Acc: 95.421
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  8899 /  9767 =  91.113
0, 1  acc:  7190 /  7535 =  95.421
1, 0  acc:  2325 /  2480 =  93.750
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18550 / 19962 =  92.927
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8899 /  9767 =  91.113
0, 1  acc:  7190 /  7535 =  95.421
1, 0  acc:  2325 /  2480 =  93.750
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18550 / 19962 =  92.927
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8899 /  9767 =  91.113
0, 1  acc:  7190 /  7535 =  95.421
1, 0  acc:  2325 /  2480 =  93.750
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18550 / 19962 =  92.927
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 92.969 | Val Loss: 0.007 | Val Acc: 54.669
Training:
Accuracies by groups:
0, 0  acc: 14507 / 21317 =  68.054
0, 1  acc:  7730 /  9732 =  79.429
1, 0  acc: 121566 / 123559 =  98.387
1, 1  acc:  7523 /  8162 =  92.171
--------------------------------------
Average acc: 151326 / 162770 =  92.969
Robust  acc: 14507 / 21317 =  68.054
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3831 /  8535 =  44.886
0, 1  acc:  3980 /  8276 =  48.091
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10861 / 19867 =  54.669
Robust  acc:  3831 /  8535 =  44.886
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 55.706
Robust Acc: 47.127 | Best Acc: 99.798
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  4916 /  9767 =  50.333
0, 1  acc:  3551 /  7535 =  47.127
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11120 / 19962 =  55.706
Robust  acc:  3551 /  7535 =  47.127
------------------------------------
Accuracies by groups:
0, 0  acc:  4916 /  9767 =  50.333
0, 1  acc:  3551 /  7535 =  47.127
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11120 / 19962 =  55.706
Robust  acc:  3551 /  7535 =  47.127
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4916 /  9767 =  50.333
0, 1  acc:  3551 /  7535 =  47.127
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11120 / 19962 =  55.706
Robust  acc:  3551 /  7535 =  47.127
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 92.929 | Val Loss: 0.006 | Val Acc: 61.539
Training:
Accuracies by groups:
0, 0  acc: 14407 / 21307 =  67.616
0, 1  acc:  7946 / 10011 =  79.373
1, 0  acc: 121284 / 123215 =  98.433
1, 1  acc:  7624 /  8237 =  92.558
--------------------------------------
Average acc: 151261 / 162770 =  92.929
Robust  acc: 14407 / 21307 =  67.616
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4628 /  8535 =  54.224
0, 1  acc:  4557 /  8276 =  55.063
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12226 / 19867 =  61.539
Robust  acc:  4628 /  8535 =  54.224
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 62.519
Robust Acc: 53.603 | Best Acc: 99.435
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  5799 /  9767 =  59.373
0, 1  acc:  4039 /  7535 =  53.603
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12480 / 19962 =  62.519
Robust  acc:  4039 /  7535 =  53.603
------------------------------------
Accuracies by groups:
0, 0  acc:  5799 /  9767 =  59.373
0, 1  acc:  4039 /  7535 =  53.603
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12480 / 19962 =  62.519
Robust  acc:  4039 /  7535 =  53.603
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5799 /  9767 =  59.373
0, 1  acc:  4039 /  7535 =  53.603
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12480 / 19962 =  62.519
Robust  acc:  4039 /  7535 =  53.603
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 92.958 | Val Loss: 0.004 | Val Acc: 81.119
Training:
Accuracies by groups:
0, 0  acc: 14663 / 21580 =  67.947
0, 1  acc:  7781 /  9854 =  78.963
1, 0  acc: 121210 / 123071 =  98.488
1, 1  acc:  7653 /  8265 =  92.595
--------------------------------------
Average acc: 151307 / 162770 =  92.958
Robust  acc: 14663 / 21580 =  67.947
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6336 /  8535 =  74.236
0, 1  acc:  6771 /  8276 =  81.815
1, 0  acc:  2833 /  2874 =  98.573
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16116 / 19867 =  81.119
Robust  acc:  6336 /  8535 =  74.236
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.118
Robust Acc: 79.707 | Best Acc: 98.347
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  7785 /  9767 =  79.707
0, 1  acc:  6198 /  7535 =  82.256
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16592 / 19962 =  83.118
Robust  acc:  7785 /  9767 =  79.707
------------------------------------
Accuracies by groups:
0, 0  acc:  7785 /  9767 =  79.707
0, 1  acc:  6198 /  7535 =  82.256
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16592 / 19962 =  83.118
Robust  acc:  7785 /  9767 =  79.707
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7785 /  9767 =  79.707
0, 1  acc:  6198 /  7535 =  82.256
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16592 / 19962 =  83.118
Robust  acc:  7785 /  9767 =  79.707
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 92.844 | Val Loss: 0.003 | Val Acc: 91.146
Training:
Accuracies by groups:
0, 0  acc: 14403 / 21518 =  66.935
0, 1  acc:  7700 /  9762 =  78.877
1, 0  acc: 121636 / 123508 =  98.484
1, 1  acc:  7383 /  7982 =  92.496
--------------------------------------
Average acc: 151122 / 162770 =  92.844
Robust  acc: 14403 / 21518 =  66.935
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7485 /  8535 =  87.698
0, 1  acc:  7756 /  8276 =  93.717
1, 0  acc:  2722 /  2874 =  94.711
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18108 / 19867 =  91.146
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.834
Robust Acc: 73.333 | Best Acc: 94.121
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  8794 /  9767 =  90.038
0, 1  acc:  7092 /  7535 =  94.121
1, 0  acc:  2314 /  2480 =  93.306
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18332 / 19962 =  91.834
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8794 /  9767 =  90.038
0, 1  acc:  7092 /  7535 =  94.121
1, 0  acc:  2314 /  2480 =  93.306
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18332 / 19962 =  91.834
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8794 /  9767 =  90.038
0, 1  acc:  7092 /  7535 =  94.121
1, 0  acc:  2314 /  2480 =  93.306
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18332 / 19962 =  91.834
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.005 | Val Loss: 0.004 | Val Acc: 85.982
Training:
Accuracies by groups:
0, 0  acc: 14634 / 21557 =  67.885
0, 1  acc:  7900 /  9964 =  79.285
1, 0  acc: 121192 / 123014 =  98.519
1, 1  acc:  7658 /  8235 =  92.993
--------------------------------------
Average acc: 151384 / 162770 =  93.005
Robust  acc: 14634 / 21557 =  67.885
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6707 /  8535 =  78.582
0, 1  acc:  7397 /  8276 =  89.379
1, 0  acc:  2811 /  2874 =  97.808
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17082 / 19867 =  85.982
Robust  acc:  6707 /  8535 =  78.582
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.261
Robust Acc: 82.349 | Best Acc: 97.661
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  8043 /  9767 =  82.349
0, 1  acc:  6795 /  7535 =  90.179
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17419 / 19962 =  87.261
Robust  acc:  8043 /  9767 =  82.349
------------------------------------
Accuracies by groups:
0, 0  acc:  8043 /  9767 =  82.349
0, 1  acc:  6795 /  7535 =  90.179
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17419 / 19962 =  87.261
Robust  acc:  8043 /  9767 =  82.349
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8043 /  9767 =  82.349
0, 1  acc:  6795 /  7535 =  90.179
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17419 / 19962 =  87.261
Robust  acc:  8043 /  9767 =  82.349
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.034 | Val Loss: 0.003 | Val Acc: 94.267
Training:
Accuracies by groups:
0, 0  acc: 14341 / 21255 =  67.471
0, 1  acc:  7798 /  9843 =  79.224
1, 0  acc: 121739 / 123550 =  98.534
1, 1  acc:  7553 /  8122 =  92.994
--------------------------------------
Average acc: 151431 / 162770 =  93.034
Robust  acc: 14341 / 21255 =  67.471
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7997 /  8535 =  93.697
0, 1  acc:  8114 /  8276 =  98.043
1, 0  acc:  2500 /  2874 =  86.987
1, 1  acc:   117 /   182 =  64.286
------------------------------------
Average acc: 18728 / 19867 =  94.267
Robust  acc:   117 /   182 =  64.286
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.710
Robust Acc: 52.778 | Best Acc: 98.036
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  9304 /  9767 =  95.260
0, 1  acc:  7387 /  7535 =  98.036
1, 0  acc:  2120 /  2480 =  85.484
1, 1  acc:    95 /   180 =  52.778
------------------------------------
Average acc: 18906 / 19962 =  94.710
Robust  acc:    95 /   180 =  52.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9304 /  9767 =  95.260
0, 1  acc:  7387 /  7535 =  98.036
1, 0  acc:  2120 /  2480 =  85.484
1, 1  acc:    95 /   180 =  52.778
------------------------------------
Average acc: 18906 / 19962 =  94.710
Robust  acc:    95 /   180 =  52.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9304 /  9767 =  95.260
0, 1  acc:  7387 /  7535 =  98.036
1, 0  acc:  2120 /  2480 =  85.484
1, 1  acc:    95 /   180 =  52.778
------------------------------------
Average acc: 18906 / 19962 =  94.710
Robust  acc:    95 /   180 =  52.778
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 92.870 | Val Loss: 0.004 | Val Acc: 86.601
Training:
Accuracies by groups:
0, 0  acc: 14500 / 21568 =  67.229
0, 1  acc:  7869 / 10036 =  78.408
1, 0  acc: 121208 / 123028 =  98.521
1, 1  acc:  7588 /  8138 =  93.242
--------------------------------------
Average acc: 151165 / 162770 =  92.870
Robust  acc: 14500 / 21568 =  67.229
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6685 /  8535 =  78.325
0, 1  acc:  7577 /  8276 =  91.554
1, 0  acc:  2792 /  2874 =  97.147
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 17205 / 19867 =  86.601
Robust  acc:  6685 /  8535 =  78.325
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.962
Robust Acc: 80.556 | Best Acc: 97.137
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  8087 /  9767 =  82.799
0, 1  acc:  6918 /  7535 =  91.812
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 17559 / 19962 =  87.962
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8087 /  9767 =  82.799
0, 1  acc:  6918 /  7535 =  91.812
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 17559 / 19962 =  87.962
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8087 /  9767 =  82.799
0, 1  acc:  6918 /  7535 =  91.812
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 17559 / 19962 =  87.962
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 92.906 | Val Loss: 0.003 | Val Acc: 93.059
Training:
Accuracies by groups:
0, 0  acc: 14388 / 21409 =  67.205
0, 1  acc:  7875 /  9990 =  78.829
1, 0  acc: 121234 / 123073 =  98.506
1, 1  acc:  7726 /  8298 =  93.107
--------------------------------------
Average acc: 151223 / 162770 =  92.906
Robust  acc: 14388 / 21409 =  67.205
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7798 /  8535 =  91.365
0, 1  acc:  7952 /  8276 =  96.085
1, 0  acc:  2607 /  2874 =  90.710
1, 1  acc:   131 /   182 =  71.978
------------------------------------
Average acc: 18488 / 19867 =  93.059
Robust  acc:   131 /   182 =  71.978
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.673
Robust Acc: 67.778 | Best Acc: 95.965
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  9122 /  9767 =  93.396
0, 1  acc:  7231 /  7535 =  95.965
1, 0  acc:  2224 /  2480 =  89.677
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18699 / 19962 =  93.673
Robust  acc:   122 /   180 =  67.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9122 /  9767 =  93.396
0, 1  acc:  7231 /  7535 =  95.965
1, 0  acc:  2224 /  2480 =  89.677
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18699 / 19962 =  93.673
Robust  acc:   122 /   180 =  67.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9122 /  9767 =  93.396
0, 1  acc:  7231 /  7535 =  95.965
1, 0  acc:  2224 /  2480 =  89.677
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18699 / 19962 =  93.673
Robust  acc:   122 /   180 =  67.778
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.017 | Val Loss: 0.003 | Val Acc: 92.072
Training:
Accuracies by groups:
0, 0  acc: 14653 / 21593 =  67.860
0, 1  acc:  7964 / 10073 =  79.063
1, 0  acc: 121257 / 123034 =  98.556
1, 1  acc:  7530 /  8070 =  93.309
--------------------------------------
Average acc: 151404 / 162770 =  93.017
Robust  acc: 14653 / 21593 =  67.860
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7685 /  8535 =  90.041
0, 1  acc:  7829 /  8276 =  94.599
1, 0  acc:  2637 /  2874 =  91.754
1, 1  acc:   141 /   182 =  77.473
------------------------------------
Average acc: 18292 / 19867 =  92.072
Robust  acc:   141 /   182 =  77.473
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.741
Robust Acc: 70.000 | Best Acc: 94.930
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  9004 /  9767 =  92.188
0, 1  acc:  7153 /  7535 =  94.930
1, 0  acc:  2230 /  2480 =  89.919
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18513 / 19962 =  92.741
Robust  acc:   126 /   180 =  70.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9004 /  9767 =  92.188
0, 1  acc:  7153 /  7535 =  94.930
1, 0  acc:  2230 /  2480 =  89.919
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18513 / 19962 =  92.741
Robust  acc:   126 /   180 =  70.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9004 /  9767 =  92.188
0, 1  acc:  7153 /  7535 =  94.930
1, 0  acc:  2230 /  2480 =  89.919
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18513 / 19962 =  92.741
Robust  acc:   126 /   180 =  70.000
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.144 | Val Loss: 0.005 | Val Acc: 74.521
Training:
Accuracies by groups:
0, 0  acc: 14530 / 21379 =  67.964
0, 1  acc:  7910 /  9864 =  80.191
1, 0  acc: 121636 / 123428 =  98.548
1, 1  acc:  7534 /  8099 =  93.024
--------------------------------------
Average acc: 151610 / 162770 =  93.144
Robust  acc: 14530 / 21379 =  67.964
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5656 /  8535 =  66.268
0, 1  acc:  6122 /  8276 =  73.973
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14805 / 19867 =  74.521
Robust  acc:  5656 /  8535 =  66.268
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.325
Robust Acc: 72.448 | Best Acc: 98.952
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  7076 /  9767 =  72.448
0, 1  acc:  5534 /  7535 =  73.444
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15236 / 19962 =  76.325
Robust  acc:  7076 /  9767 =  72.448
------------------------------------
Accuracies by groups:
0, 0  acc:  7076 /  9767 =  72.448
0, 1  acc:  5534 /  7535 =  73.444
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15236 / 19962 =  76.325
Robust  acc:  7076 /  9767 =  72.448
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7076 /  9767 =  72.448
0, 1  acc:  5534 /  7535 =  73.444
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15236 / 19962 =  76.325
Robust  acc:  7076 /  9767 =  72.448
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 93.091 | Val Loss: 0.004 | Val Acc: 80.103
Training:
Accuracies by groups:
0, 0  acc: 14489 / 21357 =  67.842
0, 1  acc:  8022 / 10060 =  79.742
1, 0  acc: 121300 / 123081 =  98.553
1, 1  acc:  7713 /  8272 =  93.242
--------------------------------------
Average acc: 151524 / 162770 =  93.091
Robust  acc: 14489 / 21357 =  67.842
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6072 /  8535 =  71.142
0, 1  acc:  6813 /  8276 =  82.322
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15914 / 19867 =  80.103
Robust  acc:  6072 /  8535 =  71.142
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.131
Robust Acc: 76.666 | Best Acc: 98.911
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  7488 /  9767 =  76.666
0, 1  acc:  6281 /  7535 =  83.358
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16395 / 19962 =  82.131
Robust  acc:  7488 /  9767 =  76.666
------------------------------------
Accuracies by groups:
0, 0  acc:  7488 /  9767 =  76.666
0, 1  acc:  6281 /  7535 =  83.358
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16395 / 19962 =  82.131
Robust  acc:  7488 /  9767 =  76.666
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7488 /  9767 =  76.666
0, 1  acc:  6281 /  7535 =  83.358
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16395 / 19962 =  82.131
Robust  acc:  7488 /  9767 =  76.666
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 93.083 | Val Loss: 0.004 | Val Acc: 80.354
Training:
Accuracies by groups:
0, 0  acc: 14705 / 21629 =  67.987
0, 1  acc:  7709 /  9717 =  79.335
1, 0  acc: 121414 / 123172 =  98.573
1, 1  acc:  7684 /  8252 =  93.117
--------------------------------------
Average acc: 151512 / 162770 =  93.083
Robust  acc: 14705 / 21629 =  67.987
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6144 /  8535 =  71.986
0, 1  acc:  6790 /  8276 =  82.044
1, 0  acc:  2850 /  2874 =  99.165
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15964 / 19867 =  80.354
Robust  acc:  6144 /  8535 =  71.986
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.076
Robust Acc: 77.342 | Best Acc: 98.669
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  7554 /  9767 =  77.342
0, 1  acc:  6210 /  7535 =  82.415
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16384 / 19962 =  82.076
Robust  acc:  7554 /  9767 =  77.342
------------------------------------
Accuracies by groups:
0, 0  acc:  7554 /  9767 =  77.342
0, 1  acc:  6210 /  7535 =  82.415
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16384 / 19962 =  82.076
Robust  acc:  7554 /  9767 =  77.342
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7554 /  9767 =  77.342
0, 1  acc:  6210 /  7535 =  82.415
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16384 / 19962 =  82.076
Robust  acc:  7554 /  9767 =  77.342
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 93.058 | Val Loss: 0.013 | Val Acc: 21.543
Training:
Accuracies by groups:
0, 0  acc: 14703 / 21573 =  68.155
0, 1  acc:  7970 / 10019 =  79.549
1, 0  acc: 121000 / 122829 =  98.511
1, 1  acc:  7797 /  8349 =  93.388
--------------------------------------
Average acc: 151470 / 162770 =  93.058
Robust  acc: 14703 / 21573 =  68.155
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:   745 /  8535 =   8.729
0, 1  acc:   479 /  8276 =   5.788
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  4280 / 19867 =  21.543
Robust  acc:   479 /  8276 =   5.788
------------------------------------
-------------------------------------------
Avg Test Loss: 0.013 | Avg Test Acc: 20.539
Robust Acc: 5.587 | Best Acc: 100.000
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  1020 /  9767 =  10.443
0, 1  acc:   421 /  7535 =   5.587
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  4100 / 19962 =  20.539
Robust  acc:   421 /  7535 =   5.587
------------------------------------
Accuracies by groups:
0, 0  acc:  1020 /  9767 =  10.443
0, 1  acc:   421 /  7535 =   5.587
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  4100 / 19962 =  20.539
Robust  acc:   421 /  7535 =   5.587
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  1020 /  9767 =  10.443
0, 1  acc:   421 /  7535 =   5.587
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  4100 / 19962 =  20.539
Robust  acc:   421 /  7535 =   5.587
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 93.246 | Val Loss: 0.006 | Val Acc: 67.303
Training:
Accuracies by groups:
0, 0  acc: 14741 / 21509 =  68.534
0, 1  acc:  7995 /  9963 =  80.247
1, 0  acc: 121420 / 123134 =  98.608
1, 1  acc:  7621 /  8164 =  93.349
--------------------------------------
Average acc: 151777 / 162770 =  93.246
Robust  acc: 14741 / 21509 =  68.534
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5275 /  8535 =  61.804
0, 1  acc:  5059 /  8276 =  61.129
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13371 / 19867 =  67.303
Robust  acc:  5059 /  8276 =  61.129
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.372
Robust Acc: 61.301 | Best Acc: 99.315
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  6588 /  9767 =  67.452
0, 1  acc:  4619 /  7535 =  61.301
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13848 / 19962 =  69.372
Robust  acc:  4619 /  7535 =  61.301
------------------------------------
Accuracies by groups:
0, 0  acc:  6588 /  9767 =  67.452
0, 1  acc:  4619 /  7535 =  61.301
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13848 / 19962 =  69.372
Robust  acc:  4619 /  7535 =  61.301
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6588 /  9767 =  67.452
0, 1  acc:  4619 /  7535 =  61.301
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13848 / 19962 =  69.372
Robust  acc:  4619 /  7535 =  61.301
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 93.093 | Val Loss: 0.003 | Val Acc: 90.472
Training:
Accuracies by groups:
0, 0  acc: 14765 / 21581 =  68.417
0, 1  acc:  7859 /  9862 =  79.690
1, 0  acc: 121298 / 123145 =  98.500
1, 1  acc:  7606 /  8182 =  92.960
--------------------------------------
Average acc: 151528 / 162770 =  93.093
Robust  acc: 14765 / 21581 =  68.417
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7371 /  8535 =  86.362
0, 1  acc:  7707 /  8276 =  93.125
1, 0  acc:  2745 /  2874 =  95.511
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 17974 / 19867 =  90.472
Robust  acc:   151 /   182 =  82.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.459
Robust Acc: 75.556 | Best Acc: 94.153
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  8740 /  9767 =  89.485
0, 1  acc:  7046 /  7535 =  93.510
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18257 / 19962 =  91.459
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8740 /  9767 =  89.485
0, 1  acc:  7046 /  7535 =  93.510
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18257 / 19962 =  91.459
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8740 /  9767 =  89.485
0, 1  acc:  7046 /  7535 =  93.510
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18257 / 19962 =  91.459
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 93.093 | Val Loss: 0.004 | Val Acc: 83.968
Training:
Accuracies by groups:
0, 0  acc: 14364 / 21286 =  67.481
0, 1  acc:  7911 /  9944 =  79.556
1, 0  acc: 121592 / 123323 =  98.596
1, 1  acc:  7661 /  8217 =  93.234
--------------------------------------
Average acc: 151528 / 162770 =  93.093
Robust  acc: 14364 / 21286 =  67.481
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6469 /  8535 =  75.794
0, 1  acc:  7209 /  8276 =  87.107
1, 0  acc:  2833 /  2874 =  98.573
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16682 / 19867 =  83.968
Robust  acc:  6469 /  8535 =  75.794
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.492
Robust Acc: 79.902 | Best Acc: 98.145
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  7804 /  9767 =  79.902
0, 1  acc:  6672 /  7535 =  88.547
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17066 / 19962 =  85.492
Robust  acc:  7804 /  9767 =  79.902
------------------------------------
Accuracies by groups:
0, 0  acc:  7804 /  9767 =  79.902
0, 1  acc:  6672 /  7535 =  88.547
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17066 / 19962 =  85.492
Robust  acc:  7804 /  9767 =  79.902
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7804 /  9767 =  79.902
0, 1  acc:  6672 /  7535 =  88.547
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17066 / 19962 =  85.492
Robust  acc:  7804 /  9767 =  79.902
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 93.219 | Val Loss: 0.003 | Val Acc: 89.193
Training:
Accuracies by groups:
0, 0  acc: 14721 / 21497 =  68.479
0, 1  acc:  7940 /  9864 =  80.495
1, 0  acc: 121246 / 122996 =  98.577
1, 1  acc:  7825 /  8413 =  93.011
--------------------------------------
Average acc: 151732 / 162770 =  93.219
Robust  acc: 14721 / 21497 =  68.479
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7116 /  8535 =  83.374
0, 1  acc:  7676 /  8276 =  92.750
1, 0  acc:  2777 /  2874 =  96.625
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 17720 / 19867 =  89.193
Robust  acc:   151 /   182 =  82.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.896
Robust Acc: 79.444 | Best Acc: 96.048
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  8454 /  9767 =  86.557
0, 1  acc:  6966 /  7535 =  92.449
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 17945 / 19962 =  89.896
Robust  acc:   143 /   180 =  79.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8454 /  9767 =  86.557
0, 1  acc:  6966 /  7535 =  92.449
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 17945 / 19962 =  89.896
Robust  acc:   143 /   180 =  79.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8454 /  9767 =  86.557
0, 1  acc:  6966 /  7535 =  92.449
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 17945 / 19962 =  89.896
Robust  acc:   143 /   180 =  79.444
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 93.135 | Val Loss: 0.003 | Val Acc: 89.747
Training:
Accuracies by groups:
0, 0  acc: 14664 / 21593 =  67.911
0, 1  acc:  7939 /  9886 =  80.305
1, 0  acc: 121255 / 122966 =  98.609
1, 1  acc:  7738 /  8325 =  92.949
--------------------------------------
Average acc: 151596 / 162770 =  93.135
Robust  acc: 14664 / 21593 =  67.911
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7146 /  8535 =  83.726
0, 1  acc:  7744 /  8276 =  93.572
1, 0  acc:  2783 /  2874 =  96.834
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 17830 / 19867 =  89.747
Robust  acc:  7146 /  8535 =  83.726
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.682
Robust Acc: 76.667 | Best Acc: 95.726
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  8527 /  9767 =  87.304
0, 1  acc:  7063 /  7535 =  93.736
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18102 / 19962 =  90.682
Robust  acc:   138 /   180 =  76.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8527 /  9767 =  87.304
0, 1  acc:  7063 /  7535 =  93.736
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18102 / 19962 =  90.682
Robust  acc:   138 /   180 =  76.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8527 /  9767 =  87.304
0, 1  acc:  7063 /  7535 =  93.736
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18102 / 19962 =  90.682
Robust  acc:   138 /   180 =  76.667
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 93.161 | Val Loss: 0.003 | Val Acc: 88.801
Training:
Accuracies by groups:
0, 0  acc: 14662 / 21583 =  67.933
0, 1  acc:  8065 / 10000 =  80.650
1, 0  acc: 121161 / 122897 =  98.587
1, 1  acc:  7750 /  8290 =  93.486
--------------------------------------
Average acc: 151638 / 162770 =  93.161
Robust  acc: 14662 / 21583 =  67.933
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7244 /  8535 =  84.874
0, 1  acc:  7492 /  8276 =  90.527
1, 0  acc:  2750 /  2874 =  95.685
1, 1  acc:   156 /   182 =  85.714
------------------------------------
Average acc: 17642 / 19867 =  88.801
Robust  acc:  7244 /  8535 =  84.874
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.181
Robust Acc: 81.667 | Best Acc: 94.435
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  8636 /  9767 =  88.420
0, 1  acc:  6877 /  7535 =  91.267
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18002 / 19962 =  90.181
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8636 /  9767 =  88.420
0, 1  acc:  6877 /  7535 =  91.267
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18002 / 19962 =  90.181
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8636 /  9767 =  88.420
0, 1  acc:  6877 /  7535 =  91.267
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18002 / 19962 =  90.181
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 93.235 | Val Loss: 0.003 | Val Acc: 90.250
Training:
Accuracies by groups:
0, 0  acc: 14662 / 21434 =  68.405
0, 1  acc:  7904 /  9863 =  80.138
1, 0  acc: 121566 / 123274 =  98.614
1, 1  acc:  7627 /  8199 =  93.024
--------------------------------------
Average acc: 151759 / 162770 =  93.235
Robust  acc: 14662 / 21434 =  68.405
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7264 /  8535 =  85.108
0, 1  acc:  7812 /  8276 =  94.393
1, 0  acc:  2726 /  2874 =  94.850
1, 1  acc:   128 /   182 =  70.330
------------------------------------
Average acc: 17930 / 19867 =  90.250
Robust  acc:   128 /   182 =  70.330
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.439
Robust Acc: 66.111 | Best Acc: 94.771
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  8664 /  9767 =  88.707
0, 1  acc:  7141 /  7535 =  94.771
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18253 / 19962 =  91.439
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8664 /  9767 =  88.707
0, 1  acc:  7141 /  7535 =  94.771
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18253 / 19962 =  91.439
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8664 /  9767 =  88.707
0, 1  acc:  7141 /  7535 =  94.771
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18253 / 19962 =  91.439
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 93.224 | Val Loss: 0.003 | Val Acc: 88.292
Training:
Accuracies by groups:
0, 0  acc: 14826 / 21612 =  68.601
0, 1  acc:  8073 / 10069 =  80.177
1, 0  acc: 121093 / 122797 =  98.612
1, 1  acc:  7749 /  8292 =  93.452
--------------------------------------
Average acc: 151741 / 162770 =  93.224
Robust  acc: 14826 / 21612 =  68.601
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6915 /  8535 =  81.019
0, 1  acc:  7674 /  8276 =  92.726
1, 0  acc:  2800 /  2874 =  97.425
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 17541 / 19867 =  88.292
Robust  acc:  6915 /  8535 =  81.019
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.475
Robust Acc: 78.333 | Best Acc: 96.573
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  8347 /  9767 =  85.461
0, 1  acc:  6978 /  7535 =  92.608
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 17861 / 19962 =  89.475
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8347 /  9767 =  85.461
0, 1  acc:  6978 /  7535 =  92.608
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 17861 / 19962 =  89.475
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8347 /  9767 =  85.461
0, 1  acc:  6978 /  7535 =  92.608
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 17861 / 19962 =  89.475
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 93.318 | Val Loss: 0.004 | Val Acc: 84.502
Training:
Accuracies by groups:
0, 0  acc: 14650 / 21310 =  68.747
0, 1  acc:  8067 /  9970 =  80.913
1, 0  acc: 121487 / 123258 =  98.563
1, 1  acc:  7689 /  8232 =  93.404
--------------------------------------
Average acc: 151893 / 162770 =  93.318
Robust  acc: 14650 / 21310 =  68.747
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6857 /  8535 =  80.340
0, 1  acc:  6961 /  8276 =  84.111
1, 0  acc:  2796 /  2874 =  97.286
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16788 / 19867 =  84.502
Robust  acc:  6857 /  8535 =  80.340
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.978
Robust Acc: 84.313 | Best Acc: 96.290
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  8259 /  9767 =  84.560
0, 1  acc:  6353 /  7535 =  84.313
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17163 / 19962 =  85.978
Robust  acc:  6353 /  7535 =  84.313
------------------------------------
Accuracies by groups:
0, 0  acc:  8259 /  9767 =  84.560
0, 1  acc:  6353 /  7535 =  84.313
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17163 / 19962 =  85.978
Robust  acc:  6353 /  7535 =  84.313
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8259 /  9767 =  84.560
0, 1  acc:  6353 /  7535 =  84.313
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17163 / 19962 =  85.978
Robust  acc:  6353 /  7535 =  84.313
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 93.303 | Val Loss: 0.004 | Val Acc: 85.559
Training:
Accuracies by groups:
0, 0  acc: 14544 / 21211 =  68.568
0, 1  acc:  8060 / 10036 =  80.311
1, 0  acc: 121595 / 123346 =  98.580
1, 1  acc:  7671 /  8177 =  93.812
--------------------------------------
Average acc: 151870 / 162770 =  93.303
Robust  acc: 14544 / 21211 =  68.568
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6842 /  8535 =  80.164
0, 1  acc:  7188 /  8276 =  86.854
1, 0  acc:  2802 /  2874 =  97.495
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 16998 / 19867 =  85.559
Robust  acc:  6842 /  8535 =  80.164
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.090
Robust Acc: 84.734 | Best Acc: 96.573
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  8276 /  9767 =  84.734
0, 1  acc:  6554 /  7535 =  86.981
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17385 / 19962 =  87.090
Robust  acc:  8276 /  9767 =  84.734
------------------------------------
Accuracies by groups:
0, 0  acc:  8276 /  9767 =  84.734
0, 1  acc:  6554 /  7535 =  86.981
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17385 / 19962 =  87.090
Robust  acc:  8276 /  9767 =  84.734
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8276 /  9767 =  84.734
0, 1  acc:  6554 /  7535 =  86.981
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17385 / 19962 =  87.090
Robust  acc:  8276 /  9767 =  84.734
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed32.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed32.pt
