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/seed42/stage_one_erm_model_b_epoch0_seed42.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: 42
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=42-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/seed42/stage_one_erm_model_b_epoch0_seed42.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8224, 0.0286],
        [0.1299, 0.0192]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 89.533 | Val Loss: 0.003 | Val Acc: 83.641
Training:
Accuracies by groups:
0, 0  acc: 10464 / 20109 =  52.036
0, 1  acc:  5561 /  9396 =  59.185
1, 0  acc: 122160 / 125035 =  97.701
1, 1  acc:  7548 /  8230 =  91.713
--------------------------------------
Average acc: 145733 / 162770 =  89.533
Robust  acc: 10464 / 20109 =  52.036
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6535 /  8535 =  76.567
0, 1  acc:  7079 /  8276 =  85.536
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 16617 / 19867 =  83.641
Robust  acc:  6535 /  8535 =  76.567
------------------------------------
New max robust acc: 76.56707674282367
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed42.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed42.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.332
Robust Acc: 81.499 | Best Acc: 98.629
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7960 /  9767 =  81.499
0, 1  acc:  6468 /  7535 =  85.839
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17034 / 19962 =  85.332
Robust  acc:  7960 /  9767 =  81.499
------------------------------------
Accuracies by groups:
0, 0  acc:  7960 /  9767 =  81.499
0, 1  acc:  6468 /  7535 =  85.839
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17034 / 19962 =  85.332
Robust  acc:  7960 /  9767 =  81.499
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7960 /  9767 =  81.499
0, 1  acc:  6468 /  7535 =  85.839
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17034 / 19962 =  85.332
Robust  acc:  7960 /  9767 =  81.499
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 93.668 | Val Loss: 0.003 | Val Acc: 86.556
Training:
Accuracies by groups:
0, 0  acc: 13700 / 19725 =  69.455
0, 1  acc:  7772 /  9552 =  81.365
1, 0  acc: 123320 / 125135 =  98.550
1, 1  acc:  7671 /  8358 =  91.780
--------------------------------------
Average acc: 152463 / 162770 =  93.668
Robust  acc: 13700 / 19725 =  69.455
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6726 /  8535 =  78.805
0, 1  acc:  7458 /  8276 =  90.116
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17196 / 19867 =  86.556
Robust  acc:  6726 /  8535 =  78.805
------------------------------------
New max robust acc: 78.804920913884
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed42.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed42.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.521
Robust Acc: 82.850 | Best Acc: 98.347
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8092 /  9767 =  82.850
0, 1  acc:  6780 /  7535 =  89.980
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17471 / 19962 =  87.521
Robust  acc:  8092 /  9767 =  82.850
------------------------------------
Accuracies by groups:
0, 0  acc:  8092 /  9767 =  82.850
0, 1  acc:  6780 /  7535 =  89.980
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17471 / 19962 =  87.521
Robust  acc:  8092 /  9767 =  82.850
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8092 /  9767 =  82.850
0, 1  acc:  6780 /  7535 =  89.980
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17471 / 19962 =  87.521
Robust  acc:  8092 /  9767 =  82.850
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 94.403 | Val Loss: 0.002 | Val Acc: 89.218
Training:
Accuracies by groups:
0, 0  acc: 14212 / 19792 =  71.807
0, 1  acc:  8154 /  9453 =  86.258
1, 0  acc: 123657 / 125277 =  98.707
1, 1  acc:  7636 /  8248 =  92.580
--------------------------------------
Average acc: 153659 / 162770 =  94.403
Robust  acc: 14212 / 19792 =  71.807
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7024 /  8535 =  82.296
0, 1  acc:  7711 /  8276 =  93.173
1, 0  acc:  2822 /  2874 =  98.191
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17725 / 19867 =  89.218
Robust  acc:  7024 /  8535 =  82.296
------------------------------------
New max robust acc: 82.29642647920328
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed42.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed42.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.841
Robust Acc: 85.000 | Best Acc: 97.903
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8355 /  9767 =  85.543
0, 1  acc:  6998 /  7535 =  92.873
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17934 / 19962 =  89.841
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8355 /  9767 =  85.543
0, 1  acc:  6998 /  7535 =  92.873
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17934 / 19962 =  89.841
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8355 /  9767 =  85.543
0, 1  acc:  6998 /  7535 =  92.873
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17934 / 19962 =  89.841
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.012 | Val Loss: 0.002 | Val Acc: 90.004
Training:
Accuracies by groups:
0, 0  acc: 14808 / 19855 =  74.581
0, 1  acc:  8277 /  9458 =  87.513
1, 0  acc: 123786 / 125137 =  98.920
1, 1  acc:  7780 /  8320 =  93.510
--------------------------------------
Average acc: 154651 / 162770 =  95.012
Robust  acc: 14808 / 19855 =  74.581
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7127 /  8535 =  83.503
0, 1  acc:  7774 /  8276 =  93.934
1, 0  acc:  2813 /  2874 =  97.878
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17881 / 19867 =  90.004
Robust  acc:  7127 /  8535 =  83.503
------------------------------------
New max robust acc: 83.50322202694787
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed42.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed42.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.537
Robust Acc: 85.000 | Best Acc: 97.742
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8433 /  9767 =  86.342
0, 1  acc:  7063 /  7535 =  93.736
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18073 / 19962 =  90.537
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8433 /  9767 =  86.342
0, 1  acc:  7063 /  7535 =  93.736
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18073 / 19962 =  90.537
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8433 /  9767 =  86.342
0, 1  acc:  7063 /  7535 =  93.736
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18073 / 19962 =  90.537
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 95.807 | Val Loss: 0.002 | Val Acc: 90.406
Training:
Accuracies by groups:
0, 0  acc: 15253 / 19809 =  77.000
0, 1  acc:  8635 /  9629 =  89.677
1, 0  acc: 124120 / 125072 =  99.239
1, 1  acc:  7937 /  8260 =  96.090
--------------------------------------
Average acc: 155945 / 162770 =  95.807
Robust  acc: 15253 / 19809 =  77.000
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7176 /  8535 =  84.077
0, 1  acc:  7806 /  8276 =  94.321
1, 0  acc:  2813 /  2874 =  97.878
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17961 / 19867 =  90.406
Robust  acc:  7176 /  8535 =  84.077
------------------------------------
New max robust acc: 84.07732864674868
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed42.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed42.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.777
Robust Acc: 82.778 | Best Acc: 97.500
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8472 /  9767 =  86.741
0, 1  acc:  7082 /  7535 =  93.988
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18121 / 19962 =  90.777
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8472 /  9767 =  86.741
0, 1  acc:  7082 /  7535 =  93.988
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18121 / 19962 =  90.777
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8472 /  9767 =  86.741
0, 1  acc:  7082 /  7535 =  93.988
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18121 / 19962 =  90.777
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.582 | Val Loss: 0.001 | Val Acc: 92.319
Training:
Accuracies by groups:
0, 0  acc: 16060 / 20085 =  79.960
0, 1  acc:  8671 /  9481 =  91.457
1, 0  acc: 124470 / 125030 =  99.552
1, 1  acc:  8005 /  8174 =  97.932
--------------------------------------
Average acc: 157206 / 162770 =  96.582
Robust  acc: 16060 / 20085 =  79.960
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7442 /  8535 =  87.194
0, 1  acc:  7973 /  8276 =  96.339
1, 0  acc:  2770 /  2874 =  96.381
1, 1  acc:   156 /   182 =  85.714
------------------------------------
Average acc: 18341 / 19867 =  92.319
Robust  acc:   156 /   182 =  85.714
------------------------------------
New max robust acc: 85.71428571428571
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed42.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed42.pt
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 92.516
Robust Acc: 78.333 | Best Acc: 96.008
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8719 /  9767 =  89.270
0, 1  acc:  7227 /  7535 =  95.912
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18468 / 19962 =  92.516
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8719 /  9767 =  89.270
0, 1  acc:  7227 /  7535 =  95.912
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18468 / 19962 =  92.516
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8719 /  9767 =  89.270
0, 1  acc:  7227 /  7535 =  95.912
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18468 / 19962 =  92.516
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.422 | Val Loss: 0.001 | Val Acc: 92.802
Training:
Accuracies by groups:
0, 0  acc: 16540 / 19825 =  83.430
0, 1  acc:  8839 /  9471 =  93.327
1, 0  acc: 125003 / 125219 =  99.828
1, 1  acc:  8191 /  8255 =  99.225
--------------------------------------
Average acc: 158573 / 162770 =  97.422
Robust  acc: 16540 / 19825 =  83.430
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7547 /  8535 =  88.424
0, 1  acc:  7997 /  8276 =  96.629
1, 0  acc:  2741 /  2874 =  95.372
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18437 / 19867 =  92.802
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 92.977
Robust Acc: 75.556 | Best Acc: 96.138
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8819 /  9767 =  90.294
0, 1  acc:  7244 /  7535 =  96.138
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18560 / 19962 =  92.977
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8819 /  9767 =  90.294
0, 1  acc:  7244 /  7535 =  96.138
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18560 / 19962 =  92.977
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8819 /  9767 =  90.294
0, 1  acc:  7244 /  7535 =  96.138
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18560 / 19962 =  92.977
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 98.009 | Val Loss: 0.001 | Val Acc: 93.758
Training:
Accuracies by groups:
0, 0  acc: 17093 / 19707 =  86.736
0, 1  acc:  8922 /  9418 =  94.733
1, 0  acc: 125209 / 125310 =  99.919
1, 1  acc:  8305 /  8335 =  99.640
--------------------------------------
Average acc: 159529 / 162770 =  98.009
Robust  acc: 17093 / 19707 =  86.736
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7726 /  8535 =  90.521
0, 1  acc:  8085 /  8276 =  97.692
1, 0  acc:  2683 /  2874 =  93.354
1, 1  acc:   133 /   182 =  73.077
------------------------------------
Average acc: 18627 / 19867 =  93.758
Robust  acc:   133 /   182 =  73.077
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.039
Robust Acc: 66.111 | Best Acc: 97.478
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  9011 /  9767 =  92.260
0, 1  acc:  7345 /  7535 =  97.478
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18772 / 19962 =  94.039
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9011 /  9767 =  92.260
0, 1  acc:  7345 /  7535 =  97.478
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18772 / 19962 =  94.039
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9011 /  9767 =  92.260
0, 1  acc:  7345 /  7535 =  97.478
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18772 / 19962 =  94.039
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.516 | Val Loss: 0.001 | Val Acc: 94.257
Training:
Accuracies by groups:
0, 0  acc: 17803 / 19787 =  89.973
0, 1  acc:  9303 /  9645 =  96.454
1, 0  acc: 125034 / 125104 =  99.944
1, 1  acc:  8215 /  8234 =  99.769
--------------------------------------
Average acc: 160355 / 162770 =  98.516
Robust  acc: 17803 / 19787 =  89.973
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7805 /  8535 =  91.447
0, 1  acc:  8122 /  8276 =  98.139
1, 0  acc:  2668 /  2874 =  92.832
1, 1  acc:   131 /   182 =  71.978
------------------------------------
Average acc: 18726 / 19867 =  94.257
Robust  acc:   131 /   182 =  71.978
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.159
Robust Acc: 62.222 | Best Acc: 97.704
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  9069 /  9767 =  92.853
0, 1  acc:  7362 /  7535 =  97.704
1, 0  acc:  2253 /  2480 =  90.847
1, 1  acc:   112 /   180 =  62.222
------------------------------------
Average acc: 18796 / 19962 =  94.159
Robust  acc:   112 /   180 =  62.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9069 /  9767 =  92.853
0, 1  acc:  7362 /  7535 =  97.704
1, 0  acc:  2253 /  2480 =  90.847
1, 1  acc:   112 /   180 =  62.222
------------------------------------
Average acc: 18796 / 19962 =  94.159
Robust  acc:   112 /   180 =  62.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9069 /  9767 =  92.853
0, 1  acc:  7362 /  7535 =  97.704
1, 0  acc:  2253 /  2480 =  90.847
1, 1  acc:   112 /   180 =  62.222
------------------------------------
Average acc: 18796 / 19962 =  94.159
Robust  acc:   112 /   180 =  62.222
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.776 | Val Loss: 0.001 | Val Acc: 93.210
Training:
Accuracies by groups:
0, 0  acc: 18228 / 19817 =  91.982
0, 1  acc:  9377 /  9655 =  97.121
1, 0  acc: 124782 / 124886 =  99.917
1, 1  acc:  8391 /  8412 =  99.750
--------------------------------------
Average acc: 160778 / 162770 =  98.776
Robust  acc: 18228 / 19817 =  91.982
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7621 /  8535 =  89.291
0, 1  acc:  8058 /  8276 =  97.366
1, 0  acc:  2699 /  2874 =  93.911
1, 1  acc:   140 /   182 =  76.923
------------------------------------
Average acc: 18518 / 19867 =  93.210
Robust  acc:   140 /   182 =  76.923
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.443
Robust Acc: 69.444 | Best Acc: 96.682
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8935 /  9767 =  91.482
0, 1  acc:  7285 /  7535 =  96.682
1, 0  acc:  2308 /  2480 =  93.065
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18653 / 19962 =  93.443
Robust  acc:   125 /   180 =  69.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8935 /  9767 =  91.482
0, 1  acc:  7285 /  7535 =  96.682
1, 0  acc:  2308 /  2480 =  93.065
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18653 / 19962 =  93.443
Robust  acc:   125 /   180 =  69.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8935 /  9767 =  91.482
0, 1  acc:  7285 /  7535 =  96.682
1, 0  acc:  2308 /  2480 =  93.065
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18653 / 19962 =  93.443
Robust  acc:   125 /   180 =  69.444
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.700 | Val Loss: 0.001 | Val Acc: 94.564
Training:
Accuracies by groups:
0, 0  acc: 18062 / 19645 =  91.942
0, 1  acc:  9350 /  9630 =  97.092
1, 0  acc: 125004 / 125200 =  99.843
1, 1  acc:  8238 /  8295 =  99.313
--------------------------------------
Average acc: 160654 / 162770 =  98.700
Robust  acc: 18062 / 19645 =  91.942
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7929 /  8535 =  92.900
0, 1  acc:  8139 /  8276 =  98.345
1, 0  acc:  2595 /  2874 =  90.292
1, 1  acc:   124 /   182 =  68.132
------------------------------------
Average acc: 18787 / 19867 =  94.564
Robust  acc:   124 /   182 =  68.132
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.650
Robust Acc: 60.000 | Best Acc: 97.956
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  9205 /  9767 =  94.246
0, 1  acc:  7381 /  7535 =  97.956
1, 0  acc:  2200 /  2480 =  88.710
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18894 / 19962 =  94.650
Robust  acc:   108 /   180 =  60.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9205 /  9767 =  94.246
0, 1  acc:  7381 /  7535 =  97.956
1, 0  acc:  2200 /  2480 =  88.710
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18894 / 19962 =  94.650
Robust  acc:   108 /   180 =  60.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9205 /  9767 =  94.246
0, 1  acc:  7381 /  7535 =  97.956
1, 0  acc:  2200 /  2480 =  88.710
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18894 / 19962 =  94.650
Robust  acc:   108 /   180 =  60.000
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.393 | Val Loss: 0.001 | Val Acc: 94.398
Training:
Accuracies by groups:
0, 0  acc: 18072 / 19896 =  90.832
0, 1  acc:  9351 /  9662 =  96.781
1, 0  acc: 124542 / 124926 =  99.693
1, 1  acc:  8190 /  8286 =  98.841
--------------------------------------
Average acc: 160155 / 162770 =  98.393
Robust  acc: 18072 / 19896 =  90.832
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7928 /  8535 =  92.888
0, 1  acc:  8139 /  8276 =  98.345
1, 0  acc:  2573 /  2874 =  89.527
1, 1  acc:   114 /   182 =  62.637
------------------------------------
Average acc: 18754 / 19867 =  94.398
Robust  acc:   114 /   182 =  62.637
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.805
Robust Acc: 60.556 | Best Acc: 98.381
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  9204 /  9767 =  94.236
0, 1  acc:  7413 /  7535 =  98.381
1, 0  acc:  2199 /  2480 =  88.669
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18925 / 19962 =  94.805
Robust  acc:   109 /   180 =  60.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9204 /  9767 =  94.236
0, 1  acc:  7413 /  7535 =  98.381
1, 0  acc:  2199 /  2480 =  88.669
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18925 / 19962 =  94.805
Robust  acc:   109 /   180 =  60.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9204 /  9767 =  94.236
0, 1  acc:  7413 /  7535 =  98.381
1, 0  acc:  2199 /  2480 =  88.669
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18925 / 19962 =  94.805
Robust  acc:   109 /   180 =  60.556
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.905 | Val Loss: 0.002 | Val Acc: 89.878
Training:
Accuracies by groups:
0, 0  acc: 17519 / 19755 =  88.681
0, 1  acc:  9109 /  9542 =  95.462
1, 0  acc: 124543 / 125100 =  99.555
1, 1  acc:  8189 /  8373 =  97.802
--------------------------------------
Average acc: 159360 / 162770 =  97.905
Robust  acc: 17519 / 19755 =  88.681
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7053 /  8535 =  82.636
0, 1  acc:  7859 /  8276 =  94.961
1, 0  acc:  2789 /  2874 =  97.042
1, 1  acc:   155 /   182 =  85.165
------------------------------------
Average acc: 17856 / 19867 =  89.878
Robust  acc:  7053 /  8535 =  82.636
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.272
Robust Acc: 82.222 | Best Acc: 96.815
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8371 /  9767 =  85.707
0, 1  acc:  7100 /  7535 =  94.227
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18020 / 19962 =  90.272
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8371 /  9767 =  85.707
0, 1  acc:  7100 /  7535 =  94.227
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18020 / 19962 =  90.272
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8371 /  9767 =  85.707
0, 1  acc:  7100 /  7535 =  94.227
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18020 / 19962 =  90.272
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.264 | Val Loss: 0.001 | Val Acc: 93.764
Training:
Accuracies by groups:
0, 0  acc: 17171 / 20055 =  85.620
0, 1  acc:  9034 /  9548 =  94.617
1, 0  acc: 124168 / 124987 =  99.345
1, 1  acc:  7944 /  8180 =  97.115
--------------------------------------
Average acc: 158317 / 162770 =  97.264
Robust  acc: 17171 / 20055 =  85.620
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7697 /  8535 =  90.182
0, 1  acc:  8166 /  8276 =  98.671
1, 0  acc:  2656 /  2874 =  92.415
1, 1  acc:   109 /   182 =  59.890
------------------------------------
Average acc: 18628 / 19867 =  93.764
Robust  acc:   109 /   182 =  59.890
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.214
Robust Acc: 58.889 | Best Acc: 98.354
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  9013 /  9767 =  92.280
0, 1  acc:  7411 /  7535 =  98.354
1, 0  acc:  2277 /  2480 =  91.815
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18807 / 19962 =  94.214
Robust  acc:   106 /   180 =  58.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9013 /  9767 =  92.280
0, 1  acc:  7411 /  7535 =  98.354
1, 0  acc:  2277 /  2480 =  91.815
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18807 / 19962 =  94.214
Robust  acc:   106 /   180 =  58.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9013 /  9767 =  92.280
0, 1  acc:  7411 /  7535 =  98.354
1, 0  acc:  2277 /  2480 =  91.815
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18807 / 19962 =  94.214
Robust  acc:   106 /   180 =  58.889
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.684 | Val Loss: 0.002 | Val Acc: 90.336
Training:
Accuracies by groups:
0, 0  acc: 16410 / 19772 =  82.996
0, 1  acc:  8860 /  9522 =  93.048
1, 0  acc: 124206 / 125258 =  99.160
1, 1  acc:  7896 /  8218 =  96.082
--------------------------------------
Average acc: 157372 / 162770 =  96.684
Robust  acc: 16410 / 19772 =  82.996
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7195 /  8535 =  84.300
0, 1  acc:  7791 /  8276 =  94.140
1, 0  acc:  2798 /  2874 =  97.356
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17947 / 19867 =  90.336
Robust  acc:  7195 /  8535 =  84.300
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.923
Robust Acc: 86.111 | Best Acc: 96.774
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8526 /  9767 =  87.294
0, 1  acc:  7069 /  7535 =  93.816
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18150 / 19962 =  90.923
Robust  acc:   155 /   180 =  86.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8526 /  9767 =  87.294
0, 1  acc:  7069 /  7535 =  93.816
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18150 / 19962 =  90.923
Robust  acc:   155 /   180 =  86.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8526 /  9767 =  87.294
0, 1  acc:  7069 /  7535 =  93.816
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18150 / 19962 =  90.923
Robust  acc:   155 /   180 =  86.111
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.156 | Val Loss: 0.003 | Val Acc: 84.547
Training:
Accuracies by groups:
0, 0  acc: 15941 / 19815 =  80.449
0, 1  acc:  8696 /  9463 =  91.895
1, 0  acc: 124055 / 125291 =  99.013
1, 1  acc:  7821 /  8201 =  95.366
--------------------------------------
Average acc: 156513 / 162770 =  96.156
Robust  acc: 15941 / 19815 =  80.449
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6365 /  8535 =  74.575
0, 1  acc:  7414 /  8276 =  89.584
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16797 / 19867 =  84.547
Robust  acc:  6365 /  8535 =  74.575
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.633
Robust Acc: 79.001 | Best Acc: 98.710
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  7716 /  9767 =  79.001
0, 1  acc:  6775 /  7535 =  89.914
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17094 / 19962 =  85.633
Robust  acc:  7716 /  9767 =  79.001
------------------------------------
Accuracies by groups:
0, 0  acc:  7716 /  9767 =  79.001
0, 1  acc:  6775 /  7535 =  89.914
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17094 / 19962 =  85.633
Robust  acc:  7716 /  9767 =  79.001
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7716 /  9767 =  79.001
0, 1  acc:  6775 /  7535 =  89.914
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17094 / 19962 =  85.633
Robust  acc:  7716 /  9767 =  79.001
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.621 | Val Loss: 0.002 | Val Acc: 90.920
Training:
Accuracies by groups:
0, 0  acc: 15742 / 20059 =  78.478
0, 1  acc:  8693 /  9612 =  90.439
1, 0  acc: 123413 / 124828 =  98.866
1, 1  acc:  7795 /  8271 =  94.245
--------------------------------------
Average acc: 155643 / 162770 =  95.621
Robust  acc: 15742 / 20059 =  78.478
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7306 /  8535 =  85.600
0, 1  acc:  7833 /  8276 =  94.647
1, 0  acc:  2770 /  2874 =  96.381
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 18063 / 19867 =  90.920
Robust  acc:   154 /   182 =  84.615
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.409
Robust Acc: 77.222 | Best Acc: 96.613
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  8567 /  9767 =  87.714
0, 1  acc:  7145 /  7535 =  94.824
1, 0  acc:  2396 /  2480 =  96.613
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18247 / 19962 =  91.409
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8567 /  9767 =  87.714
0, 1  acc:  7145 /  7535 =  94.824
1, 0  acc:  2396 /  2480 =  96.613
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18247 / 19962 =  91.409
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8567 /  9767 =  87.714
0, 1  acc:  7145 /  7535 =  94.824
1, 0  acc:  2396 /  2480 =  96.613
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18247 / 19962 =  91.409
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.115 | Val Loss: 0.002 | Val Acc: 92.530
Training:
Accuracies by groups:
0, 0  acc: 14982 / 19691 =  76.086
0, 1  acc:  8425 /  9450 =  89.153
1, 0  acc: 123605 / 125280 =  98.663
1, 1  acc:  7807 /  8349 =  93.508
--------------------------------------
Average acc: 154819 / 162770 =  95.115
Robust  acc: 14982 / 19691 =  76.086
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7576 /  8535 =  88.764
0, 1  acc:  7952 /  8276 =  96.085
1, 0  acc:  2710 /  2874 =  94.294
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18383 / 19867 =  92.530
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.902
Robust Acc: 70.000 | Best Acc: 96.111
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  8848 /  9767 =  90.591
0, 1  acc:  7242 /  7535 =  96.111
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18545 / 19962 =  92.902
Robust  acc:   126 /   180 =  70.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8848 /  9767 =  90.591
0, 1  acc:  7242 /  7535 =  96.111
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18545 / 19962 =  92.902
Robust  acc:   126 /   180 =  70.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8848 /  9767 =  90.591
0, 1  acc:  7242 /  7535 =  96.111
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18545 / 19962 =  92.902
Robust  acc:   126 /   180 =  70.000
------------------------------------
Epoch:  19 | Train Loss: 0.002 | Train Acc: 94.586 | Val Loss: 0.004 | Val Acc: 82.705
Training:
Accuracies by groups:
0, 0  acc: 14654 / 19792 =  74.040
0, 1  acc:  8341 /  9504 =  87.763
1, 0  acc: 123262 / 125168 =  98.477
1, 1  acc:  7701 /  8306 =  92.716
--------------------------------------
Average acc: 153958 / 162770 =  94.586
Robust  acc: 14654 / 19792 =  74.040
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6380 /  8535 =  74.751
0, 1  acc:  7025 /  8276 =  84.884
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 16431 / 19867 =  82.705
Robust  acc:  6380 /  8535 =  74.751
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.230
Robust Acc: 79.113 | Best Acc: 98.992
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  7727 /  9767 =  79.113
0, 1  acc:  6464 /  7535 =  85.786
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16814 / 19962 =  84.230
Robust  acc:  7727 /  9767 =  79.113
------------------------------------
Accuracies by groups:
0, 0  acc:  7727 /  9767 =  79.113
0, 1  acc:  6464 /  7535 =  85.786
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16814 / 19962 =  84.230
Robust  acc:  7727 /  9767 =  79.113
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7727 /  9767 =  79.113
0, 1  acc:  6464 /  7535 =  85.786
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16814 / 19962 =  84.230
Robust  acc:  7727 /  9767 =  79.113
------------------------------------
Epoch:  20 | Train Loss: 0.002 | Train Acc: 94.200 | Val Loss: 0.002 | Val Acc: 94.227
Training:
Accuracies by groups:
0, 0  acc: 14536 / 19931 =  72.932
0, 1  acc:  8158 /  9501 =  85.865
1, 0  acc: 123104 / 125162 =  98.356
1, 1  acc:  7531 /  8176 =  92.111
--------------------------------------
Average acc: 153329 / 162770 =  94.200
Robust  acc: 14536 / 19931 =  72.932
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8242 /  8535 =  96.567
0, 1  acc:  8175 /  8276 =  98.780
1, 0  acc:  2207 /  2874 =  76.792
1, 1  acc:    96 /   182 =  52.747
------------------------------------
Average acc: 18720 / 19867 =  94.227
Robust  acc:    96 /   182 =  52.747
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.555
Robust Acc: 45.000 | Best Acc: 98.832
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  9466 /  9767 =  96.918
0, 1  acc:  7447 /  7535 =  98.832
1, 0  acc:  1881 /  2480 =  75.847
1, 1  acc:    81 /   180 =  45.000
------------------------------------
Average acc: 18875 / 19962 =  94.555
Robust  acc:    81 /   180 =  45.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9466 /  9767 =  96.918
0, 1  acc:  7447 /  7535 =  98.832
1, 0  acc:  1881 /  2480 =  75.847
1, 1  acc:    81 /   180 =  45.000
------------------------------------
Average acc: 18875 / 19962 =  94.555
Robust  acc:    81 /   180 =  45.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9466 /  9767 =  96.918
0, 1  acc:  7447 /  7535 =  98.832
1, 0  acc:  1881 /  2480 =  75.847
1, 1  acc:    81 /   180 =  45.000
------------------------------------
Average acc: 18875 / 19962 =  94.555
Robust  acc:    81 /   180 =  45.000
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 93.886 | Val Loss: 0.003 | Val Acc: 85.801
Training:
Accuracies by groups:
0, 0  acc: 14188 / 19918 =  71.232
0, 1  acc:  8129 /  9599 =  84.686
1, 0  acc: 122858 / 124988 =  98.296
1, 1  acc:  7643 /  8265 =  92.474
--------------------------------------
Average acc: 152818 / 162770 =  93.886
Robust  acc: 14188 / 19918 =  71.232
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6641 /  8535 =  77.809
0, 1  acc:  7391 /  8276 =  89.306
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 17046 / 19867 =  85.801
Robust  acc:  6641 /  8535 =  77.809
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.221
Robust Acc: 82.564 | Best Acc: 98.347
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  8064 /  9767 =  82.564
0, 1  acc:  6747 /  7535 =  89.542
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17411 / 19962 =  87.221
Robust  acc:  8064 /  9767 =  82.564
------------------------------------
Accuracies by groups:
0, 0  acc:  8064 /  9767 =  82.564
0, 1  acc:  6747 /  7535 =  89.542
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17411 / 19962 =  87.221
Robust  acc:  8064 /  9767 =  82.564
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8064 /  9767 =  82.564
0, 1  acc:  6747 /  7535 =  89.542
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17411 / 19962 =  87.221
Robust  acc:  8064 /  9767 =  82.564
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 93.708 | Val Loss: 0.006 | Val Acc: 62.521
Training:
Accuracies by groups:
0, 0  acc: 13990 / 19800 =  70.657
0, 1  acc:  7918 /  9502 =  83.330
1, 0  acc: 123096 / 125261 =  98.272
1, 1  acc:  7524 /  8207 =  91.678
--------------------------------------
Average acc: 152528 / 162770 =  93.708
Robust  acc: 13990 / 19800 =  70.657
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4327 /  8535 =  50.697
0, 1  acc:  5045 /  8276 =  60.959
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12421 / 19867 =  62.521
Robust  acc:  4327 /  8535 =  50.697
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 64.362
Robust Acc: 56.906 | Best Acc: 99.839
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  5558 /  9767 =  56.906
0, 1  acc:  4636 /  7535 =  61.526
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12848 / 19962 =  64.362
Robust  acc:  5558 /  9767 =  56.906
------------------------------------
Accuracies by groups:
0, 0  acc:  5558 /  9767 =  56.906
0, 1  acc:  4636 /  7535 =  61.526
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12848 / 19962 =  64.362
Robust  acc:  5558 /  9767 =  56.906
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5558 /  9767 =  56.906
0, 1  acc:  4636 /  7535 =  61.526
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12848 / 19962 =  64.362
Robust  acc:  5558 /  9767 =  56.906
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 93.547 | Val Loss: 0.004 | Val Acc: 78.578
Training:
Accuracies by groups:
0, 0  acc: 13734 / 19738 =  69.582
0, 1  acc:  7740 /  9540 =  81.132
1, 0  acc: 123302 / 125384 =  98.340
1, 1  acc:  7490 /  8108 =  92.378
--------------------------------------
Average acc: 152266 / 162770 =  93.547
Robust  acc: 13734 / 19738 =  69.582
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5924 /  8535 =  69.408
0, 1  acc:  6657 /  8276 =  80.437
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15611 / 19867 =  78.578
Robust  acc:  5924 /  8535 =  69.408
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.388
Robust Acc: 74.660 | Best Acc: 99.073
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  7292 /  9767 =  74.660
0, 1  acc:  6125 /  7535 =  81.287
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16047 / 19962 =  80.388
Robust  acc:  7292 /  9767 =  74.660
------------------------------------
Accuracies by groups:
0, 0  acc:  7292 /  9767 =  74.660
0, 1  acc:  6125 /  7535 =  81.287
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16047 / 19962 =  80.388
Robust  acc:  7292 /  9767 =  74.660
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7292 /  9767 =  74.660
0, 1  acc:  6125 /  7535 =  81.287
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16047 / 19962 =  80.388
Robust  acc:  7292 /  9767 =  74.660
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 93.533 | Val Loss: 0.006 | Val Acc: 62.516
Training:
Accuracies by groups:
0, 0  acc: 13353 / 19433 =  68.713
0, 1  acc:  7669 /  9547 =  80.329
1, 0  acc: 123562 / 125542 =  98.423
1, 1  acc:  7659 /  8248 =  92.859
--------------------------------------
Average acc: 152243 / 162770 =  93.533
Robust  acc: 13353 / 19433 =  68.713
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4355 /  8535 =  51.025
0, 1  acc:  5014 /  8276 =  60.585
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12420 / 19867 =  62.516
Robust  acc:  4355 /  8535 =  51.025
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 64.553
Robust Acc: 57.633 | Best Acc: 99.718
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  5629 /  9767 =  57.633
0, 1  acc:  4606 /  7535 =  61.128
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12886 / 19962 =  64.553
Robust  acc:  5629 /  9767 =  57.633
------------------------------------
Accuracies by groups:
0, 0  acc:  5629 /  9767 =  57.633
0, 1  acc:  4606 /  7535 =  61.128
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12886 / 19962 =  64.553
Robust  acc:  5629 /  9767 =  57.633
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5629 /  9767 =  57.633
0, 1  acc:  4606 /  7535 =  61.128
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12886 / 19962 =  64.553
Robust  acc:  5629 /  9767 =  57.633
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 93.473 | Val Loss: 0.003 | Val Acc: 93.124
Training:
Accuracies by groups:
0, 0  acc: 13372 / 19574 =  68.315
0, 1  acc:  7674 /  9634 =  79.655
1, 0  acc: 123390 / 125260 =  98.507
1, 1  acc:  7710 /  8302 =  92.869
--------------------------------------
Average acc: 152146 / 162770 =  93.473
Robust  acc: 13372 / 19574 =  68.315
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7727 /  8535 =  90.533
0, 1  acc:  8000 /  8276 =  96.665
1, 0  acc:  2640 /  2874 =  91.858
1, 1  acc:   134 /   182 =  73.626
------------------------------------
Average acc: 18501 / 19867 =  93.124
Robust  acc:   134 /   182 =  73.626
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.583
Robust Acc: 68.333 | Best Acc: 96.271
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  9056 /  9767 =  92.720
0, 1  acc:  7254 /  7535 =  96.271
1, 0  acc:  2248 /  2480 =  90.645
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18681 / 19962 =  93.583
Robust  acc:   123 /   180 =  68.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9056 /  9767 =  92.720
0, 1  acc:  7254 /  7535 =  96.271
1, 0  acc:  2248 /  2480 =  90.645
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18681 / 19962 =  93.583
Robust  acc:   123 /   180 =  68.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9056 /  9767 =  92.720
0, 1  acc:  7254 /  7535 =  96.271
1, 0  acc:  2248 /  2480 =  90.645
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18681 / 19962 =  93.583
Robust  acc:   123 /   180 =  68.333
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 93.337 | Val Loss: 0.004 | Val Acc: 79.146
Training:
Accuracies by groups:
0, 0  acc: 13503 / 20003 =  67.505
0, 1  acc:  7627 /  9625 =  79.242
1, 0  acc: 123088 / 124895 =  98.553
1, 1  acc:  7706 /  8247 =  93.440
--------------------------------------
Average acc: 151924 / 162770 =  93.337
Robust  acc: 13503 / 20003 =  67.505
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5834 /  8535 =  68.354
0, 1  acc:  6858 /  8276 =  82.866
1, 0  acc:  2854 /  2874 =  99.304
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15724 / 19867 =  79.146
Robust  acc:  5834 /  8535 =  68.354
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.583
Robust Acc: 73.830 | Best Acc: 99.113
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  7211 /  9767 =  73.830
0, 1  acc:  6245 /  7535 =  82.880
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16086 / 19962 =  80.583
Robust  acc:  7211 /  9767 =  73.830
------------------------------------
Accuracies by groups:
0, 0  acc:  7211 /  9767 =  73.830
0, 1  acc:  6245 /  7535 =  82.880
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16086 / 19962 =  80.583
Robust  acc:  7211 /  9767 =  73.830
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7211 /  9767 =  73.830
0, 1  acc:  6245 /  7535 =  82.880
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16086 / 19962 =  80.583
Robust  acc:  7211 /  9767 =  73.830
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 93.254 | Val Loss: 0.004 | Val Acc: 83.561
Training:
Accuracies by groups:
0, 0  acc: 13182 / 19810 =  66.542
0, 1  acc:  7442 /  9445 =  78.793
1, 0  acc: 123418 / 125231 =  98.552
1, 1  acc:  7748 /  8284 =  93.530
--------------------------------------
Average acc: 151790 / 162770 =  93.254
Robust  acc: 13182 / 19810 =  66.542
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6527 /  8535 =  76.473
0, 1  acc:  7070 /  8276 =  85.428
1, 0  acc:  2828 /  2874 =  98.399
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16601 / 19867 =  83.561
Robust  acc:  6527 /  8535 =  76.473
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.931
Robust Acc: 80.977 | Best Acc: 98.105
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  7909 /  9767 =  80.977
0, 1  acc:  6446 /  7535 =  85.547
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16954 / 19962 =  84.931
Robust  acc:  7909 /  9767 =  80.977
------------------------------------
Accuracies by groups:
0, 0  acc:  7909 /  9767 =  80.977
0, 1  acc:  6446 /  7535 =  85.547
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16954 / 19962 =  84.931
Robust  acc:  7909 /  9767 =  80.977
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7909 /  9767 =  80.977
0, 1  acc:  6446 /  7535 =  85.547
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16954 / 19962 =  84.931
Robust  acc:  7909 /  9767 =  80.977
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 93.238 | Val Loss: 0.005 | Val Acc: 75.039
Training:
Accuracies by groups:
0, 0  acc: 13229 / 19868 =  66.584
0, 1  acc:  7593 /  9684 =  78.408
1, 0  acc: 123181 / 124925 =  98.604
1, 1  acc:  7761 /  8293 =  93.585
--------------------------------------
Average acc: 151764 / 162770 =  93.238
Robust  acc: 13229 / 19868 =  66.584
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5662 /  8535 =  66.339
0, 1  acc:  6215 /  8276 =  75.097
1, 0  acc:  2850 /  2874 =  99.165
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14908 / 19867 =  75.039
Robust  acc:  5662 /  8535 =  66.339
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.400
Robust Acc: 71.455 | Best Acc: 98.952
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  6979 /  9767 =  71.455
0, 1  acc:  5644 /  7535 =  74.904
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15251 / 19962 =  76.400
Robust  acc:  6979 /  9767 =  71.455
------------------------------------
Accuracies by groups:
0, 0  acc:  6979 /  9767 =  71.455
0, 1  acc:  5644 /  7535 =  74.904
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15251 / 19962 =  76.400
Robust  acc:  6979 /  9767 =  71.455
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6979 /  9767 =  71.455
0, 1  acc:  5644 /  7535 =  74.904
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15251 / 19962 =  76.400
Robust  acc:  6979 /  9767 =  71.455
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 93.276 | Val Loss: 0.004 | Val Acc: 85.348
Training:
Accuracies by groups:
0, 0  acc: 13207 / 19871 =  66.464
0, 1  acc:  7334 /  9417 =  77.880
1, 0  acc: 123375 / 125081 =  98.636
1, 1  acc:  7910 /  8401 =  94.155
--------------------------------------
Average acc: 151826 / 162770 =  93.276
Robust  acc: 13207 / 19871 =  66.464
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6625 /  8535 =  77.622
0, 1  acc:  7326 /  8276 =  88.521
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16956 / 19867 =  85.348
Robust  acc:  6625 /  8535 =  77.622
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.595
Robust Acc: 82.062 | Best Acc: 98.185
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  8015 /  9767 =  82.062
0, 1  acc:  6677 /  7535 =  88.613
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17286 / 19962 =  86.595
Robust  acc:  8015 /  9767 =  82.062
------------------------------------
Accuracies by groups:
0, 0  acc:  8015 /  9767 =  82.062
0, 1  acc:  6677 /  7535 =  88.613
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17286 / 19962 =  86.595
Robust  acc:  8015 /  9767 =  82.062
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8015 /  9767 =  82.062
0, 1  acc:  6677 /  7535 =  88.613
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17286 / 19962 =  86.595
Robust  acc:  8015 /  9767 =  82.062
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.267 | Val Loss: 0.004 | Val Acc: 81.084
Training:
Accuracies by groups:
0, 0  acc: 13247 / 19964 =  66.354
0, 1  acc:  7261 /  9334 =  77.791
1, 0  acc: 123444 / 125133 =  98.650
1, 1  acc:  7859 /  8339 =  94.244
--------------------------------------
Average acc: 151811 / 162770 =  93.267
Robust  acc: 13247 / 19964 =  66.354
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6232 /  8535 =  73.017
0, 1  acc:  6851 /  8276 =  82.782
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 16109 / 19867 =  81.084
Robust  acc:  6232 /  8535 =  73.017
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.612
Robust Acc: 77.864 | Best Acc: 98.710
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  7605 /  9767 =  77.864
0, 1  acc:  6267 /  7535 =  83.172
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16491 / 19962 =  82.612
Robust  acc:  7605 /  9767 =  77.864
------------------------------------
Accuracies by groups:
0, 0  acc:  7605 /  9767 =  77.864
0, 1  acc:  6267 /  7535 =  83.172
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16491 / 19962 =  82.612
Robust  acc:  7605 /  9767 =  77.864
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7605 /  9767 =  77.864
0, 1  acc:  6267 /  7535 =  83.172
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16491 / 19962 =  82.612
Robust  acc:  7605 /  9767 =  77.864
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.217 | Val Loss: 0.003 | Val Acc: 93.129
Training:
Accuracies by groups:
0, 0  acc: 12968 / 19749 =  65.664
0, 1  acc:  7303 /  9448 =  77.297
1, 0  acc: 123661 / 125288 =  98.701
1, 1  acc:  7798 /  8285 =  94.122
--------------------------------------
Average acc: 151730 / 162770 =  93.217
Robust  acc: 12968 / 19749 =  65.664
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7868 /  8535 =  92.185
0, 1  acc:  7963 /  8276 =  96.218
1, 0  acc:  2557 /  2874 =  88.970
1, 1  acc:   114 /   182 =  62.637
------------------------------------
Average acc: 18502 / 19867 =  93.129
Robust  acc:   114 /   182 =  62.637
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.683
Robust Acc: 59.444 | Best Acc: 96.204
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  9185 /  9767 =  94.041
0, 1  acc:  7249 /  7535 =  96.204
1, 0  acc:  2160 /  2480 =  87.097
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18701 / 19962 =  93.683
Robust  acc:   107 /   180 =  59.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9185 /  9767 =  94.041
0, 1  acc:  7249 /  7535 =  96.204
1, 0  acc:  2160 /  2480 =  87.097
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18701 / 19962 =  93.683
Robust  acc:   107 /   180 =  59.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9185 /  9767 =  94.041
0, 1  acc:  7249 /  7535 =  96.204
1, 0  acc:  2160 /  2480 =  87.097
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18701 / 19962 =  93.683
Robust  acc:   107 /   180 =  59.444
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.202 | Val Loss: 0.010 | Val Acc: 32.416
Training:
Accuracies by groups:
0, 0  acc: 12923 / 19692 =  65.626
0, 1  acc:  7388 /  9565 =  77.240
1, 0  acc: 123644 / 125289 =  98.687
1, 1  acc:  7750 /  8224 =  94.236
--------------------------------------
Average acc: 151705 / 162770 =  93.202
Robust  acc: 12923 / 19692 =  65.626
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1638 /  8535 =  19.192
0, 1  acc:  1746 /  8276 =  21.097
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  6440 / 19867 =  32.416
Robust  acc:  1638 /  8535 =  19.192
------------------------------------
-------------------------------------------
Avg Test Loss: 0.010 | Avg Test Acc: 31.886
Robust Acc: 20.292 | Best Acc: 100.000
--------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  2177 /  9767 =  22.289
0, 1  acc:  1529 /  7535 =  20.292
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  6365 / 19962 =  31.886
Robust  acc:  1529 /  7535 =  20.292
------------------------------------
Accuracies by groups:
0, 0  acc:  2177 /  9767 =  22.289
0, 1  acc:  1529 /  7535 =  20.292
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  6365 / 19962 =  31.886
Robust  acc:  1529 /  7535 =  20.292
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2177 /  9767 =  22.289
0, 1  acc:  1529 /  7535 =  20.292
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  6365 / 19962 =  31.886
Robust  acc:  1529 /  7535 =  20.292
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.242 | Val Loss: 0.005 | Val Acc: 78.673
Training:
Accuracies by groups:
0, 0  acc: 12875 / 19690 =  65.389
0, 1  acc:  7482 /  9618 =  77.792
1, 0  acc: 123592 / 125154 =  98.752
1, 1  acc:  7821 /  8308 =  94.138
--------------------------------------
Average acc: 151770 / 162770 =  93.242
Robust  acc: 12875 / 19690 =  65.389
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5996 /  8535 =  70.252
0, 1  acc:  6614 /  8276 =  79.918
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15630 / 19867 =  78.673
Robust  acc:  5996 /  8535 =  70.252
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.313
Robust Acc: 75.397 | Best Acc: 98.710
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7364 /  9767 =  75.397
0, 1  acc:  6050 /  7535 =  80.292
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16032 / 19962 =  80.313
Robust  acc:  7364 /  9767 =  75.397
------------------------------------
Accuracies by groups:
0, 0  acc:  7364 /  9767 =  75.397
0, 1  acc:  6050 /  7535 =  80.292
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16032 / 19962 =  80.313
Robust  acc:  7364 /  9767 =  75.397
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7364 /  9767 =  75.397
0, 1  acc:  6050 /  7535 =  80.292
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16032 / 19962 =  80.313
Robust  acc:  7364 /  9767 =  75.397
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.297 | Val Loss: 0.003 | Val Acc: 93.371
Training:
Accuracies by groups:
0, 0  acc: 13010 / 19710 =  66.007
0, 1  acc:  7246 /  9336 =  77.614
1, 0  acc: 123827 / 125447 =  98.709
1, 1  acc:  7777 /  8277 =  93.959
--------------------------------------
Average acc: 151860 / 162770 =  93.297
Robust  acc: 13010 / 19710 =  66.007
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7875 /  8535 =  92.267
0, 1  acc:  8013 /  8276 =  96.822
1, 0  acc:  2533 /  2874 =  88.135
1, 1  acc:   129 /   182 =  70.879
------------------------------------
Average acc: 18550 / 19867 =  93.371
Robust  acc:   129 /   182 =  70.879
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.793
Robust Acc: 61.111 | Best Acc: 96.656
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  9199 /  9767 =  94.184
0, 1  acc:  7283 /  7535 =  96.656
1, 0  acc:  2131 /  2480 =  85.927
1, 1  acc:   110 /   180 =  61.111
------------------------------------
Average acc: 18723 / 19962 =  93.793
Robust  acc:   110 /   180 =  61.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9199 /  9767 =  94.184
0, 1  acc:  7283 /  7535 =  96.656
1, 0  acc:  2131 /  2480 =  85.927
1, 1  acc:   110 /   180 =  61.111
------------------------------------
Average acc: 18723 / 19962 =  93.793
Robust  acc:   110 /   180 =  61.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9199 /  9767 =  94.184
0, 1  acc:  7283 /  7535 =  96.656
1, 0  acc:  2131 /  2480 =  85.927
1, 1  acc:   110 /   180 =  61.111
------------------------------------
Average acc: 18723 / 19962 =  93.793
Robust  acc:   110 /   180 =  61.111
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.221 | Val Loss: 0.003 | Val Acc: 88.488
Training:
Accuracies by groups:
0, 0  acc: 13102 / 19961 =  65.638
0, 1  acc:  7462 /  9605 =  77.689
1, 0  acc: 123241 / 124756 =  98.786
1, 1  acc:  7931 /  8448 =  93.880
--------------------------------------
Average acc: 151736 / 162770 =  93.221
Robust  acc: 13102 / 19961 =  65.638
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7043 /  8535 =  82.519
0, 1  acc:  7586 /  8276 =  91.663
1, 0  acc:  2790 /  2874 =  97.077
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 17580 / 19867 =  88.488
Robust  acc:  7043 /  8535 =  82.519
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.640
Robust Acc: 84.444 | Best Acc: 96.290
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  8399 /  9767 =  85.994
0, 1  acc:  6955 /  7535 =  92.303
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17894 / 19962 =  89.640
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8399 /  9767 =  85.994
0, 1  acc:  6955 /  7535 =  92.303
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17894 / 19962 =  89.640
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8399 /  9767 =  85.994
0, 1  acc:  6955 /  7535 =  92.303
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17894 / 19962 =  89.640
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.412 | Val Loss: 0.006 | Val Acc: 64.841
Training:
Accuracies by groups:
0, 0  acc: 13069 / 19580 =  66.747
0, 1  acc:  7526 /  9646 =  78.022
1, 0  acc: 123709 / 125317 =  98.717
1, 1  acc:  7743 /  8227 =  94.117
--------------------------------------
Average acc: 152047 / 162770 =  93.412
Robust  acc: 13069 / 19580 =  66.747
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4061 /  8535 =  47.581
0, 1  acc:  5779 /  8276 =  69.828
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 12882 / 19867 =  64.841
Robust  acc:  4061 /  8535 =  47.581
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.855
Robust Acc: 52.985 | Best Acc: 99.516
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  5175 /  9767 =  52.985
0, 1  acc:  5328 /  7535 =  70.710
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13146 / 19962 =  65.855
Robust  acc:  5175 /  9767 =  52.985
------------------------------------
Accuracies by groups:
0, 0  acc:  5175 /  9767 =  52.985
0, 1  acc:  5328 /  7535 =  70.710
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13146 / 19962 =  65.855
Robust  acc:  5175 /  9767 =  52.985
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5175 /  9767 =  52.985
0, 1  acc:  5328 /  7535 =  70.710
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13146 / 19962 =  65.855
Robust  acc:  5175 /  9767 =  52.985
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.378 | Val Loss: 0.005 | Val Acc: 72.633
Training:
Accuracies by groups:
0, 0  acc: 13193 / 19786 =  66.678
0, 1  acc:  7488 /  9555 =  78.367
1, 0  acc: 123543 / 125159 =  98.709
1, 1  acc:  7767 /  8270 =  93.918
--------------------------------------
Average acc: 151991 / 162770 =  93.378
Robust  acc: 13193 / 19786 =  66.678
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5406 /  8535 =  63.339
0, 1  acc:  5985 /  8276 =  72.318
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14430 / 19867 =  72.633
Robust  acc:  5406 /  8535 =  63.339
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.471
Robust Acc: 69.387 | Best Acc: 99.395
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  6777 /  9767 =  69.387
0, 1  acc:  5448 /  7535 =  72.303
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14866 / 19962 =  74.471
Robust  acc:  6777 /  9767 =  69.387
------------------------------------
Accuracies by groups:
0, 0  acc:  6777 /  9767 =  69.387
0, 1  acc:  5448 /  7535 =  72.303
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14866 / 19962 =  74.471
Robust  acc:  6777 /  9767 =  69.387
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6777 /  9767 =  69.387
0, 1  acc:  5448 /  7535 =  72.303
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14866 / 19962 =  74.471
Robust  acc:  6777 /  9767 =  69.387
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 93.321 | Val Loss: 0.003 | Val Acc: 90.723
Training:
Accuracies by groups:
0, 0  acc: 13101 / 19814 =  66.120
0, 1  acc:  7394 /  9429 =  78.418
1, 0  acc: 123688 / 125342 =  98.680
1, 1  acc:  7716 /  8185 =  94.270
--------------------------------------
Average acc: 151899 / 162770 =  93.321
Robust  acc: 13101 / 19814 =  66.120
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7408 /  8535 =  86.796
0, 1  acc:  7725 /  8276 =  93.342
1, 0  acc:  2736 /  2874 =  95.198
1, 1  acc:   155 /   182 =  85.165
------------------------------------
Average acc: 18024 / 19867 =  90.723
Robust  acc:   155 /   182 =  85.165
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.674
Robust Acc: 81.667 | Best Acc: 94.879
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  8774 /  9767 =  89.833
0, 1  acc:  7026 /  7535 =  93.245
1, 0  acc:  2353 /  2480 =  94.879
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18300 / 19962 =  91.674
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8774 /  9767 =  89.833
0, 1  acc:  7026 /  7535 =  93.245
1, 0  acc:  2353 /  2480 =  94.879
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18300 / 19962 =  91.674
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8774 /  9767 =  89.833
0, 1  acc:  7026 /  7535 =  93.245
1, 0  acc:  2353 /  2480 =  94.879
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18300 / 19962 =  91.674
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 93.254 | Val Loss: 0.003 | Val Acc: 90.507
Training:
Accuracies by groups:
0, 0  acc: 13049 / 19778 =  65.977
0, 1  acc:  7499 /  9642 =  77.774
1, 0  acc: 123492 / 125088 =  98.724
1, 1  acc:  7750 /  8262 =  93.803
--------------------------------------
Average acc: 151790 / 162770 =  93.254
Robust  acc: 13049 / 19778 =  65.977
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7315 /  8535 =  85.706
0, 1  acc:  7766 /  8276 =  93.838
1, 0  acc:  2749 /  2874 =  95.651
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 17981 / 19867 =  90.507
Robust  acc:   151 /   182 =  82.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.213
Robust Acc: 78.333 | Best Acc: 94.758
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  8661 /  9767 =  88.676
0, 1  acc:  7056 /  7535 =  93.643
1, 0  acc:  2350 /  2480 =  94.758
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18208 / 19962 =  91.213
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8661 /  9767 =  88.676
0, 1  acc:  7056 /  7535 =  93.643
1, 0  acc:  2350 /  2480 =  94.758
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18208 / 19962 =  91.213
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8661 /  9767 =  88.676
0, 1  acc:  7056 /  7535 =  93.643
1, 0  acc:  2350 /  2480 =  94.758
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18208 / 19962 =  91.213
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 93.412 | Val Loss: 0.004 | Val Acc: 80.188
Training:
Accuracies by groups:
0, 0  acc: 13216 / 19752 =  66.910
0, 1  acc:  7352 /  9442 =  77.865
1, 0  acc: 123719 / 125298 =  98.740
1, 1  acc:  7759 /  8278 =  93.730
--------------------------------------
Average acc: 152046 / 162770 =  93.412
Robust  acc: 13216 / 19752 =  66.910
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6208 /  8535 =  72.736
0, 1  acc:  6699 /  8276 =  80.945
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15931 / 19867 =  80.188
Robust  acc:  6208 /  8535 =  72.736
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.770
Robust Acc: 78.151 | Best Acc: 98.750
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  7633 /  9767 =  78.151
0, 1  acc:  6069 /  7535 =  80.544
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16323 / 19962 =  81.770
Robust  acc:  7633 /  9767 =  78.151
------------------------------------
Accuracies by groups:
0, 0  acc:  7633 /  9767 =  78.151
0, 1  acc:  6069 /  7535 =  80.544
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16323 / 19962 =  81.770
Robust  acc:  7633 /  9767 =  78.151
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7633 /  9767 =  78.151
0, 1  acc:  6069 /  7535 =  80.544
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16323 / 19962 =  81.770
Robust  acc:  7633 /  9767 =  78.151
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 93.409 | Val Loss: 0.003 | Val Acc: 90.346
Training:
Accuracies by groups:
0, 0  acc: 13256 / 19841 =  66.811
0, 1  acc:  7595 /  9617 =  78.975
1, 0  acc: 123460 / 125072 =  98.711
1, 1  acc:  7731 /  8240 =  93.823
--------------------------------------
Average acc: 152042 / 162770 =  93.409
Robust  acc: 13256 / 19841 =  66.811
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7299 /  8535 =  85.518
0, 1  acc:  7727 /  8276 =  93.366
1, 0  acc:  2772 /  2874 =  96.451
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 17949 / 19867 =  90.346
Robust  acc:   151 /   182 =  82.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.288
Robust Acc: 80.000 | Best Acc: 95.484
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  8662 /  9767 =  88.686
0, 1  acc:  7049 /  7535 =  93.550
1, 0  acc:  2368 /  2480 =  95.484
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18223 / 19962 =  91.288
Robust  acc:   144 /   180 =  80.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8662 /  9767 =  88.686
0, 1  acc:  7049 /  7535 =  93.550
1, 0  acc:  2368 /  2480 =  95.484
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18223 / 19962 =  91.288
Robust  acc:   144 /   180 =  80.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8662 /  9767 =  88.686
0, 1  acc:  7049 /  7535 =  93.550
1, 0  acc:  2368 /  2480 =  95.484
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18223 / 19962 =  91.288
Robust  acc:   144 /   180 =  80.000
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 93.435 | Val Loss: 0.007 | Val Acc: 61.529
Training:
Accuracies by groups:
0, 0  acc: 13179 / 19787 =  66.604
0, 1  acc:  7543 /  9523 =  79.208
1, 0  acc: 123611 / 125224 =  98.712
1, 1  acc:  7751 /  8236 =  94.111
--------------------------------------
Average acc: 152084 / 162770 =  93.435
Robust  acc: 13179 / 19787 =  66.604
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4245 /  8535 =  49.736
0, 1  acc:  4929 /  8276 =  59.558
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12224 / 19867 =  61.529
Robust  acc:  4245 /  8535 =  49.736
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 63.400
Robust Acc: 56.240 | Best Acc: 99.758
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  5493 /  9767 =  56.240
0, 1  acc:  4512 /  7535 =  59.881
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12656 / 19962 =  63.400
Robust  acc:  5493 /  9767 =  56.240
------------------------------------
Accuracies by groups:
0, 0  acc:  5493 /  9767 =  56.240
0, 1  acc:  4512 /  7535 =  59.881
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12656 / 19962 =  63.400
Robust  acc:  5493 /  9767 =  56.240
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5493 /  9767 =  56.240
0, 1  acc:  4512 /  7535 =  59.881
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12656 / 19962 =  63.400
Robust  acc:  5493 /  9767 =  56.240
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 93.433 | Val Loss: 0.005 | Val Acc: 73.479
Training:
Accuracies by groups:
0, 0  acc: 13371 / 19894 =  67.211
0, 1  acc:  7534 /  9539 =  78.981
1, 0  acc: 123333 / 124983 =  98.680
1, 1  acc:  7843 /  8354 =  93.883
--------------------------------------
Average acc: 152081 / 162770 =  93.433
Robust  acc: 13371 / 19894 =  67.211
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5440 /  8535 =  63.738
0, 1  acc:  6121 /  8276 =  73.961
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 14598 / 19867 =  73.479
Robust  acc:  5440 /  8535 =  63.738
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.328
Robust Acc: 69.469 | Best Acc: 99.516
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  6785 /  9767 =  69.469
0, 1  acc:  5607 /  7535 =  74.413
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15037 / 19962 =  75.328
Robust  acc:  6785 /  9767 =  69.469
------------------------------------
Accuracies by groups:
0, 0  acc:  6785 /  9767 =  69.469
0, 1  acc:  5607 /  7535 =  74.413
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15037 / 19962 =  75.328
Robust  acc:  6785 /  9767 =  69.469
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6785 /  9767 =  69.469
0, 1  acc:  5607 /  7535 =  74.413
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15037 / 19962 =  75.328
Robust  acc:  6785 /  9767 =  69.469
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 93.388 | Val Loss: 0.004 | Val Acc: 86.631
Training:
Accuracies by groups:
0, 0  acc: 13231 / 19820 =  66.756
0, 1  acc:  7576 /  9543 =  79.388
1, 0  acc: 123394 / 125121 =  98.620
1, 1  acc:  7806 /  8286 =  94.207
--------------------------------------
Average acc: 152007 / 162770 =  93.388
Robust  acc: 13231 / 19820 =  66.756
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6918 /  8535 =  81.054
0, 1  acc:  7306 /  8276 =  88.279
1, 0  acc:  2814 /  2874 =  97.912
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17211 / 19867 =  86.631
Robust  acc:  6918 /  8535 =  81.054
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 87.872
Robust Acc: 85.093 | Best Acc: 97.581
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  8311 /  9767 =  85.093
0, 1  acc:  6644 /  7535 =  88.175
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17541 / 19962 =  87.872
Robust  acc:  8311 /  9767 =  85.093
------------------------------------
Accuracies by groups:
0, 0  acc:  8311 /  9767 =  85.093
0, 1  acc:  6644 /  7535 =  88.175
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17541 / 19962 =  87.872
Robust  acc:  8311 /  9767 =  85.093
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8311 /  9767 =  85.093
0, 1  acc:  6644 /  7535 =  88.175
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17541 / 19962 =  87.872
Robust  acc:  8311 /  9767 =  85.093
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 93.655 | Val Loss: 0.004 | Val Acc: 85.906
Training:
Accuracies by groups:
0, 0  acc: 13412 / 19814 =  67.690
0, 1  acc:  7667 /  9538 =  80.384
1, 0  acc: 123707 / 125312 =  98.719
1, 1  acc:  7656 /  8106 =  94.449
--------------------------------------
Average acc: 152442 / 162770 =  93.655
Robust  acc: 13412 / 19814 =  67.690
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6628 /  8535 =  77.657
0, 1  acc:  7443 /  8276 =  89.935
1, 0  acc:  2830 /  2874 =  98.469
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17067 / 19867 =  85.906
Robust  acc:  6628 /  8535 =  77.657
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.960
Robust Acc: 82.113 | Best Acc: 98.306
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  8020 /  9767 =  82.113
0, 1  acc:  6745 /  7535 =  89.516
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17359 / 19962 =  86.960
Robust  acc:  8020 /  9767 =  82.113
------------------------------------
Accuracies by groups:
0, 0  acc:  8020 /  9767 =  82.113
0, 1  acc:  6745 /  7535 =  89.516
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17359 / 19962 =  86.960
Robust  acc:  8020 /  9767 =  82.113
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8020 /  9767 =  82.113
0, 1  acc:  6745 /  7535 =  89.516
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17359 / 19962 =  86.960
Robust  acc:  8020 /  9767 =  82.113
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 93.595 | Val Loss: 0.007 | Val Acc: 61.992
Training:
Accuracies by groups:
0, 0  acc: 13225 / 19570 =  67.578
0, 1  acc:  7562 /  9506 =  79.550
1, 0  acc: 123807 / 125411 =  98.721
1, 1  acc:  7750 /  8283 =  93.565
--------------------------------------
Average acc: 152344 / 162770 =  93.595
Robust  acc: 13225 / 19570 =  67.578
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4745 /  8535 =  55.595
0, 1  acc:  4527 /  8276 =  54.700
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12316 / 19867 =  61.992
Robust  acc:  4527 /  8276 =  54.700
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 64.007
Robust Acc: 54.519 | Best Acc: 99.597
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  6022 /  9767 =  61.657
0, 1  acc:  4108 /  7535 =  54.519
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12777 / 19962 =  64.007
Robust  acc:  4108 /  7535 =  54.519
------------------------------------
Accuracies by groups:
0, 0  acc:  6022 /  9767 =  61.657
0, 1  acc:  4108 /  7535 =  54.519
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12777 / 19962 =  64.007
Robust  acc:  4108 /  7535 =  54.519
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6022 /  9767 =  61.657
0, 1  acc:  4108 /  7535 =  54.519
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12777 / 19962 =  64.007
Robust  acc:  4108 /  7535 =  54.519
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 93.502 | Val Loss: 0.003 | Val Acc: 93.889
Training:
Accuracies by groups:
0, 0  acc: 13588 / 20106 =  67.582
0, 1  acc:  7506 /  9411 =  79.758
1, 0  acc: 123318 / 124928 =  98.711
1, 1  acc:  7781 /  8325 =  93.465
--------------------------------------
Average acc: 152193 / 162770 =  93.502
Robust  acc: 13588 / 20106 =  67.582
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8179 /  8535 =  95.829
0, 1  acc:  8198 /  8276 =  99.058
1, 0  acc:  2188 /  2874 =  76.131
1, 1  acc:    88 /   182 =  48.352
------------------------------------
Average acc: 18653 / 19867 =  93.889
Robust  acc:    88 /   182 =  48.352
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.274
Robust Acc: 42.778 | Best Acc: 98.713
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  9448 /  9767 =  96.734
0, 1  acc:  7438 /  7535 =  98.713
1, 0  acc:  1856 /  2480 =  74.839
1, 1  acc:    77 /   180 =  42.778
------------------------------------
Average acc: 18819 / 19962 =  94.274
Robust  acc:    77 /   180 =  42.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9448 /  9767 =  96.734
0, 1  acc:  7438 /  7535 =  98.713
1, 0  acc:  1856 /  2480 =  74.839
1, 1  acc:    77 /   180 =  42.778
------------------------------------
Average acc: 18819 / 19962 =  94.274
Robust  acc:    77 /   180 =  42.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9448 /  9767 =  96.734
0, 1  acc:  7438 /  7535 =  98.713
1, 0  acc:  1856 /  2480 =  74.839
1, 1  acc:    77 /   180 =  42.778
------------------------------------
Average acc: 18819 / 19962 =  94.274
Robust  acc:    77 /   180 =  42.778
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 93.547 | Val Loss: 0.003 | Val Acc: 88.136
Training:
Accuracies by groups:
0, 0  acc: 13538 / 19923 =  67.952
0, 1  acc:  7471 /  9373 =  79.708
1, 0  acc: 123470 / 125148 =  98.659
1, 1  acc:  7787 /  8326 =  93.526
--------------------------------------
Average acc: 152266 / 162770 =  93.547
Robust  acc: 13538 / 19923 =  67.952
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7011 /  8535 =  82.144
0, 1  acc:  7533 /  8276 =  91.022
1, 0  acc:  2806 /  2874 =  97.634
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 17510 / 19867 =  88.136
Robust  acc:  7011 /  8535 =  82.144
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.515
Robust Acc: 85.556 | Best Acc: 96.815
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  8436 /  9767 =  86.372
0, 1  acc:  6878 /  7535 =  91.281
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17869 / 19962 =  89.515
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8436 /  9767 =  86.372
0, 1  acc:  6878 /  7535 =  91.281
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17869 / 19962 =  89.515
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8436 /  9767 =  86.372
0, 1  acc:  6878 /  7535 =  91.281
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17869 / 19962 =  89.515
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 93.560 | Val Loss: 0.004 | Val Acc: 81.819
Training:
Accuracies by groups:
0, 0  acc: 13418 / 19786 =  67.816
0, 1  acc:  7644 /  9561 =  79.950
1, 0  acc: 123477 / 125157 =  98.658
1, 1  acc:  7749 /  8266 =  93.745
--------------------------------------
Average acc: 152288 / 162770 =  93.560
Robust  acc: 13418 / 19786 =  67.816
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6441 /  8535 =  75.466
0, 1  acc:  6807 /  8276 =  82.250
1, 0  acc:  2831 /  2874 =  98.504
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16255 / 19867 =  81.819
Robust  acc:  6441 /  8535 =  75.466
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.674
Robust Acc: 80.414 | Best Acc: 97.702
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  7854 /  9767 =  80.414
0, 1  acc:  6262 /  7535 =  83.106
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16703 / 19962 =  83.674
Robust  acc:  7854 /  9767 =  80.414
------------------------------------
Accuracies by groups:
0, 0  acc:  7854 /  9767 =  80.414
0, 1  acc:  6262 /  7535 =  83.106
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16703 / 19962 =  83.674
Robust  acc:  7854 /  9767 =  80.414
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7854 /  9767 =  80.414
0, 1  acc:  6262 /  7535 =  83.106
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16703 / 19962 =  83.674
Robust  acc:  7854 /  9767 =  80.414
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 93.654 | Val Loss: 0.006 | Val Acc: 70.720
Training:
Accuracies by groups:
0, 0  acc: 13372 / 19664 =  68.002
0, 1  acc:  7564 /  9445 =  80.085
1, 0  acc: 123675 / 125306 =  98.698
1, 1  acc:  7830 /  8355 =  93.716
--------------------------------------
Average acc: 152441 / 162770 =  93.654
Robust  acc: 13372 / 19664 =  68.002
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5164 /  8535 =  60.504
0, 1  acc:  5847 /  8276 =  70.650
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14050 / 19867 =  70.720
Robust  acc:  5164 /  8535 =  60.504
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.823
Robust Acc: 67.165 | Best Acc: 99.153
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  6560 /  9767 =  67.165
0, 1  acc:  5344 /  7535 =  70.922
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14537 / 19962 =  72.823
Robust  acc:  6560 /  9767 =  67.165
------------------------------------
Accuracies by groups:
0, 0  acc:  6560 /  9767 =  67.165
0, 1  acc:  5344 /  7535 =  70.922
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14537 / 19962 =  72.823
Robust  acc:  6560 /  9767 =  67.165
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6560 /  9767 =  67.165
0, 1  acc:  5344 /  7535 =  70.922
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14537 / 19962 =  72.823
Robust  acc:  6560 /  9767 =  67.165
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed42.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed42.pt
