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/seed50/stage_one_erm_model_b_epoch0_seed50.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: 50
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=50-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/seed50/stage_one_erm_model_b_epoch0_seed50.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8223, 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.391 | Val Loss: 0.003 | Val Acc: 81.975
Training:
Accuracies by groups:
0, 0  acc:  9850 / 19963 =  49.341
0, 1  acc:  5447 /  9274 =  58.734
1, 0  acc: 122309 / 124959 =  97.879
1, 1  acc:  7896 /  8574 =  92.092
--------------------------------------
Average acc: 145502 / 162770 =  89.391
Robust  acc:  9850 / 19963 =  49.341
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6363 /  8535 =  74.552
0, 1  acc:  6909 /  8276 =  83.482
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16286 / 19867 =  81.975
Robust  acc:  6363 /  8535 =  74.552
------------------------------------
New max robust acc: 74.5518453427065
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed50.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed50.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 83.669
Robust Acc: 79.707 | Best Acc: 98.750
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7785 /  9767 =  79.707
0, 1  acc:  6302 /  7535 =  83.636
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16702 / 19962 =  83.669
Robust  acc:  7785 /  9767 =  79.707
------------------------------------
Accuracies by groups:
0, 0  acc:  7785 /  9767 =  79.707
0, 1  acc:  6302 /  7535 =  83.636
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16702 / 19962 =  83.669
Robust  acc:  7785 /  9767 =  79.707
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7785 /  9767 =  79.707
0, 1  acc:  6302 /  7535 =  83.636
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16702 / 19962 =  83.669
Robust  acc:  7785 /  9767 =  79.707
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 93.585 | Val Loss: 0.002 | Val Acc: 88.035
Training:
Accuracies by groups:
0, 0  acc: 14107 / 20340 =  69.356
0, 1  acc:  7388 /  9115 =  81.053
1, 0  acc: 123146 / 124902 =  98.594
1, 1  acc:  7688 /  8413 =  91.382
--------------------------------------
Average acc: 152329 / 162770 =  93.585
Robust  acc: 14107 / 20340 =  69.356
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6946 /  8535 =  81.383
0, 1  acc:  7556 /  8276 =  91.300
1, 0  acc:  2819 /  2874 =  98.086
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17490 / 19867 =  88.035
Robust  acc:  6946 /  8535 =  81.383
------------------------------------
New max robust acc: 81.3825424721734
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed50.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed50.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.280
Robust Acc: 85.492 | Best Acc: 97.661
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8350 /  9767 =  85.492
0, 1  acc:  6894 /  7535 =  91.493
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17822 / 19962 =  89.280
Robust  acc:  8350 /  9767 =  85.492
------------------------------------
Accuracies by groups:
0, 0  acc:  8350 /  9767 =  85.492
0, 1  acc:  6894 /  7535 =  91.493
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17822 / 19962 =  89.280
Robust  acc:  8350 /  9767 =  85.492
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8350 /  9767 =  85.492
0, 1  acc:  6894 /  7535 =  91.493
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17822 / 19962 =  89.280
Robust  acc:  8350 /  9767 =  85.492
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 94.479 | Val Loss: 0.002 | Val Acc: 89.238
Training:
Accuracies by groups:
0, 0  acc: 14455 / 19946 =  72.471
0, 1  acc:  7947 /  9280 =  85.636
1, 0  acc: 123684 / 125256 =  98.745
1, 1  acc:  7698 /  8288 =  92.881
--------------------------------------
Average acc: 153784 / 162770 =  94.479
Robust  acc: 14455 / 19946 =  72.471
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7043 /  8535 =  82.519
0, 1  acc:  7696 /  8276 =  92.992
1, 0  acc:  2823 /  2874 =  98.225
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17729 / 19867 =  89.238
Robust  acc:  7043 /  8535 =  82.519
------------------------------------
New max robust acc: 82.51903925014645
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed50.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed50.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.991
Robust Acc: 85.556 | Best Acc: 97.621
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8391 /  9767 =  85.912
0, 1  acc:  6998 /  7535 =  92.873
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17964 / 19962 =  89.991
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8391 /  9767 =  85.912
0, 1  acc:  6998 /  7535 =  92.873
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17964 / 19962 =  89.991
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8391 /  9767 =  85.912
0, 1  acc:  6998 /  7535 =  92.873
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17964 / 19962 =  89.991
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.169 | Val Loss: 0.002 | Val Acc: 90.099
Training:
Accuracies by groups:
0, 0  acc: 15028 / 19998 =  75.148
0, 1  acc:  8169 /  9291 =  87.924
1, 0  acc: 123932 / 125217 =  98.974
1, 1  acc:  7778 /  8264 =  94.119
--------------------------------------
Average acc: 154907 / 162770 =  95.169
Robust  acc: 15028 / 19998 =  75.148
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7149 /  8535 =  83.761
0, 1  acc:  7767 /  8276 =  93.850
1, 0  acc:  2818 /  2874 =  98.051
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17900 / 19867 =  90.099
Robust  acc:  7149 /  8535 =  83.761
------------------------------------
New max robust acc: 83.7609841827768
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed50.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed50.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.612
Robust Acc: 83.333 | Best Acc: 97.379
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8462 /  9767 =  86.639
0, 1  acc:  7061 /  7535 =  93.709
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18088 / 19962 =  90.612
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8462 /  9767 =  86.639
0, 1  acc:  7061 /  7535 =  93.709
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18088 / 19962 =  90.612
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8462 /  9767 =  86.639
0, 1  acc:  7061 /  7535 =  93.709
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18088 / 19962 =  90.612
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 95.800 | Val Loss: 0.002 | Val Acc: 90.995
Training:
Accuracies by groups:
0, 0  acc: 15480 / 20050 =  77.207
0, 1  acc:  8231 /  9220 =  89.273
1, 0  acc: 124331 / 125257 =  99.261
1, 1  acc:  7892 /  8243 =  95.742
--------------------------------------
Average acc: 155934 / 162770 =  95.800
Robust  acc: 15480 / 20050 =  77.207
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7264 /  8535 =  85.108
0, 1  acc:  7850 /  8276 =  94.853
1, 0  acc:  2803 /  2874 =  97.530
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 18078 / 19867 =  90.995
Robust  acc:  7264 /  8535 =  85.108
------------------------------------
New max robust acc: 85.10837727006444
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed50.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed50.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.339
Robust Acc: 83.333 | Best Acc: 96.815
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8552 /  9767 =  87.560
0, 1  acc:  7130 /  7535 =  94.625
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18233 / 19962 =  91.339
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8552 /  9767 =  87.560
0, 1  acc:  7130 /  7535 =  94.625
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18233 / 19962 =  91.339
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8552 /  9767 =  87.560
0, 1  acc:  7130 /  7535 =  94.625
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18233 / 19962 =  91.339
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.676 | Val Loss: 0.002 | Val Acc: 92.133
Training:
Accuracies by groups:
0, 0  acc: 16048 / 20005 =  80.220
0, 1  acc:  8564 /  9342 =  91.672
1, 0  acc: 124649 / 125156 =  99.595
1, 1  acc:  8098 /  8267 =  97.956
--------------------------------------
Average acc: 157359 / 162770 =  96.676
Robust  acc: 16048 / 20005 =  80.220
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7474 /  8535 =  87.569
0, 1  acc:  7901 /  8276 =  95.469
1, 0  acc:  2769 /  2874 =  96.347
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 18304 / 19867 =  92.133
Robust  acc:  7474 /  8535 =  87.569
------------------------------------
New max robust acc: 87.56883421206796
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed50.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed50.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.215
Robust Acc: 78.889 | Best Acc: 96.129
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8723 /  9767 =  89.311
0, 1  acc:  7159 /  7535 =  95.010
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18408 / 19962 =  92.215
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8723 /  9767 =  89.311
0, 1  acc:  7159 /  7535 =  95.010
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18408 / 19962 =  92.215
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8723 /  9767 =  89.311
0, 1  acc:  7159 /  7535 =  95.010
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18408 / 19962 =  92.215
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.424 | Val Loss: 0.001 | Val Acc: 93.044
Training:
Accuracies by groups:
0, 0  acc: 16888 / 20164 =  83.753
0, 1  acc:  8523 /  9144 =  93.209
1, 0  acc: 125052 / 125290 =  99.810
1, 1  acc:  8114 /  8172 =  99.290
--------------------------------------
Average acc: 158577 / 162770 =  97.424
Robust  acc: 16888 / 20164 =  83.753
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7619 /  8535 =  89.268
0, 1  acc:  7994 /  8276 =  96.593
1, 0  acc:  2725 /  2874 =  94.816
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 18485 / 19867 =  93.044
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.172
Robust Acc: 70.556 | Best Acc: 96.271
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8883 /  9767 =  90.949
0, 1  acc:  7254 /  7535 =  96.271
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18599 / 19962 =  93.172
Robust  acc:   127 /   180 =  70.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8883 /  9767 =  90.949
0, 1  acc:  7254 /  7535 =  96.271
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18599 / 19962 =  93.172
Robust  acc:   127 /   180 =  70.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8883 /  9767 =  90.949
0, 1  acc:  7254 /  7535 =  96.271
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18599 / 19962 =  93.172
Robust  acc:   127 /   180 =  70.556
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 98.064 | Val Loss: 0.001 | Val Acc: 93.607
Training:
Accuracies by groups:
0, 0  acc: 17529 / 20088 =  87.261
0, 1  acc:  8745 /  9208 =  94.972
1, 0  acc: 125090 / 125196 =  99.915
1, 1  acc:  8255 /  8278 =  99.722
--------------------------------------
Average acc: 159619 / 162770 =  98.064
Robust  acc: 17529 / 20088 =  87.261
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7696 /  8535 =  90.170
0, 1  acc:  8068 /  8276 =  97.487
1, 0  acc:  2700 /  2874 =  93.946
1, 1  acc:   133 /   182 =  73.077
------------------------------------
Average acc: 18597 / 19867 =  93.607
Robust  acc:   133 /   182 =  73.077
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.888
Robust Acc: 64.444 | Best Acc: 97.293
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8985 /  9767 =  91.993
0, 1  acc:  7331 /  7535 =  97.293
1, 0  acc:  2310 /  2480 =  93.145
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18742 / 19962 =  93.888
Robust  acc:   116 /   180 =  64.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8985 /  9767 =  91.993
0, 1  acc:  7331 /  7535 =  97.293
1, 0  acc:  2310 /  2480 =  93.145
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18742 / 19962 =  93.888
Robust  acc:   116 /   180 =  64.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8985 /  9767 =  91.993
0, 1  acc:  7331 /  7535 =  97.293
1, 0  acc:  2310 /  2480 =  93.145
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18742 / 19962 =  93.888
Robust  acc:   116 /   180 =  64.444
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.554 | Val Loss: 0.001 | Val Acc: 93.552
Training:
Accuracies by groups:
0, 0  acc: 18398 / 20357 =  90.377
0, 1  acc:  8863 /  9199 =  96.347
1, 0  acc: 124990 / 125038 =  99.962
1, 1  acc:  8165 /  8176 =  99.865
--------------------------------------
Average acc: 160416 / 162770 =  98.554
Robust  acc: 18398 / 20357 =  90.377
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7666 /  8535 =  89.818
0, 1  acc:  8085 /  8276 =  97.692
1, 0  acc:  2707 /  2874 =  94.189
1, 1  acc:   128 /   182 =  70.330
------------------------------------
Average acc: 18586 / 19867 =  93.552
Robust  acc:   128 /   182 =  70.330
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.538
Robust Acc: 63.889 | Best Acc: 97.107
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8929 /  9767 =  91.420
0, 1  acc:  7317 /  7535 =  97.107
1, 0  acc:  2311 /  2480 =  93.185
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18672 / 19962 =  93.538
Robust  acc:   115 /   180 =  63.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8929 /  9767 =  91.420
0, 1  acc:  7317 /  7535 =  97.107
1, 0  acc:  2311 /  2480 =  93.185
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18672 / 19962 =  93.538
Robust  acc:   115 /   180 =  63.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8929 /  9767 =  91.420
0, 1  acc:  7317 /  7535 =  97.107
1, 0  acc:  2311 /  2480 =  93.185
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18672 / 19962 =  93.538
Robust  acc:   115 /   180 =  63.889
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.823 | Val Loss: 0.001 | Val Acc: 94.086
Training:
Accuracies by groups:
0, 0  acc: 18197 / 19740 =  92.183
0, 1  acc:  8988 /  9226 =  97.420
1, 0  acc: 125385 / 125499 =  99.909
1, 1  acc:  8284 /  8305 =  99.747
--------------------------------------
Average acc: 160854 / 162770 =  98.823
Robust  acc: 18197 / 19740 =  92.183
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7751 /  8535 =  90.814
0, 1  acc:  8160 /  8276 =  98.598
1, 0  acc:  2665 /  2874 =  92.728
1, 1  acc:   116 /   182 =  63.736
------------------------------------
Average acc: 18692 / 19867 =  94.086
Robust  acc:   116 /   182 =  63.736
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.219
Robust Acc: 53.889 | Best Acc: 98.235
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9048 /  9767 =  92.638
0, 1  acc:  7402 /  7535 =  98.235
1, 0  acc:  2261 /  2480 =  91.169
1, 1  acc:    97 /   180 =  53.889
------------------------------------
Average acc: 18808 / 19962 =  94.219
Robust  acc:    97 /   180 =  53.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9048 /  9767 =  92.638
0, 1  acc:  7402 /  7535 =  98.235
1, 0  acc:  2261 /  2480 =  91.169
1, 1  acc:    97 /   180 =  53.889
------------------------------------
Average acc: 18808 / 19962 =  94.219
Robust  acc:    97 /   180 =  53.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9048 /  9767 =  92.638
0, 1  acc:  7402 /  7535 =  98.235
1, 0  acc:  2261 /  2480 =  91.169
1, 1  acc:    97 /   180 =  53.889
------------------------------------
Average acc: 18808 / 19962 =  94.219
Robust  acc:    97 /   180 =  53.889
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.717 | Val Loss: 0.001 | Val Acc: 93.779
Training:
Accuracies by groups:
0, 0  acc: 18529 / 20118 =  92.102
0, 1  acc:  8809 /  9064 =  97.187
1, 0  acc: 125130 / 125320 =  99.848
1, 1  acc:  8213 /  8268 =  99.335
--------------------------------------
Average acc: 160681 / 162770 =  98.717
Robust  acc: 18529 / 20118 =  92.102
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7750 /  8535 =  90.803
0, 1  acc:  8094 /  8276 =  97.801
1, 0  acc:  2662 /  2874 =  92.624
1, 1  acc:   125 /   182 =  68.681
------------------------------------
Average acc: 18631 / 19867 =  93.779
Robust  acc:   125 /   182 =  68.681
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.893
Robust Acc: 63.333 | Best Acc: 97.346
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  9031 /  9767 =  92.464
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2263 /  2480 =  91.250
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18743 / 19962 =  93.893
Robust  acc:   114 /   180 =  63.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9031 /  9767 =  92.464
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2263 /  2480 =  91.250
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18743 / 19962 =  93.893
Robust  acc:   114 /   180 =  63.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9031 /  9767 =  92.464
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2263 /  2480 =  91.250
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18743 / 19962 =  93.893
Robust  acc:   114 /   180 =  63.333
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.448 | Val Loss: 0.001 | Val Acc: 94.725
Training:
Accuracies by groups:
0, 0  acc: 18202 / 20013 =  90.951
0, 1  acc:  9027 /  9320 =  96.856
1, 0  acc: 124802 / 125135 =  99.734
1, 1  acc:  8212 /  8302 =  98.916
--------------------------------------
Average acc: 160243 / 162770 =  98.448
Robust  acc: 18202 / 20013 =  90.951
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7913 /  8535 =  92.712
0, 1  acc:  8174 /  8276 =  98.768
1, 0  acc:  2620 /  2874 =  91.162
1, 1  acc:   112 /   182 =  61.538
------------------------------------
Average acc: 18819 / 19867 =  94.725
Robust  acc:   112 /   182 =  61.538
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.910
Robust Acc: 51.111 | Best Acc: 98.567
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  9204 /  9767 =  94.236
0, 1  acc:  7427 /  7535 =  98.567
1, 0  acc:  2223 /  2480 =  89.637
1, 1  acc:    92 /   180 =  51.111
------------------------------------
Average acc: 18946 / 19962 =  94.910
Robust  acc:    92 /   180 =  51.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9204 /  9767 =  94.236
0, 1  acc:  7427 /  7535 =  98.567
1, 0  acc:  2223 /  2480 =  89.637
1, 1  acc:    92 /   180 =  51.111
------------------------------------
Average acc: 18946 / 19962 =  94.910
Robust  acc:    92 /   180 =  51.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9204 /  9767 =  94.236
0, 1  acc:  7427 /  7535 =  98.567
1, 0  acc:  2223 /  2480 =  89.637
1, 1  acc:    92 /   180 =  51.111
------------------------------------
Average acc: 18946 / 19962 =  94.910
Robust  acc:    92 /   180 =  51.111
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.934 | Val Loss: 0.002 | Val Acc: 90.245
Training:
Accuracies by groups:
0, 0  acc: 17808 / 20065 =  88.752
0, 1  acc:  8870 /  9266 =  95.726
1, 0  acc: 124725 / 125274 =  99.562
1, 1  acc:  8004 /  8165 =  98.028
--------------------------------------
Average acc: 159407 / 162770 =  97.934
Robust  acc: 17808 / 20065 =  88.752
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7303 /  8535 =  85.565
0, 1  acc:  7682 /  8276 =  92.823
1, 0  acc:  2777 /  2874 =  96.625
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17929 / 19867 =  90.245
Robust  acc:  7303 /  8535 =  85.565
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.497
Robust Acc: 87.222 | Best Acc: 96.048
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8577 /  9767 =  87.816
0, 1  acc:  6949 /  7535 =  92.223
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 18065 / 19962 =  90.497
Robust  acc:   157 /   180 =  87.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8577 /  9767 =  87.816
0, 1  acc:  6949 /  7535 =  92.223
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 18065 / 19962 =  90.497
Robust  acc:   157 /   180 =  87.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8577 /  9767 =  87.816
0, 1  acc:  6949 /  7535 =  92.223
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 18065 / 19962 =  90.497
Robust  acc:   157 /   180 =  87.222
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.279 | Val Loss: 0.002 | Val Acc: 91.388
Training:
Accuracies by groups:
0, 0  acc: 17113 / 19965 =  85.715
0, 1  acc:  8870 /  9406 =  94.302
1, 0  acc: 124283 / 125083 =  99.360
1, 1  acc:  8075 /  8316 =  97.102
--------------------------------------
Average acc: 158341 / 162770 =  97.279
Robust  acc: 17113 / 19965 =  85.715
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7375 /  8535 =  86.409
0, 1  acc:  7848 /  8276 =  94.828
1, 0  acc:  2773 /  2874 =  96.486
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 18156 / 19867 =  91.388
Robust  acc:  7375 /  8535 =  86.409
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.759
Robust Acc: 83.889 | Best Acc: 95.726
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8679 /  9767 =  88.860
0, 1  acc:  7113 /  7535 =  94.399
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18317 / 19962 =  91.759
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8679 /  9767 =  88.860
0, 1  acc:  7113 /  7535 =  94.399
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18317 / 19962 =  91.759
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8679 /  9767 =  88.860
0, 1  acc:  7113 /  7535 =  94.399
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18317 / 19962 =  91.759
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.734 | Val Loss: 0.002 | Val Acc: 88.262
Training:
Accuracies by groups:
0, 0  acc: 16749 / 20109 =  83.291
0, 1  acc:  8631 /  9266 =  93.147
1, 0  acc: 124062 / 125067 =  99.196
1, 1  acc:  8012 /  8328 =  96.206
--------------------------------------
Average acc: 157454 / 162770 =  96.734
Robust  acc: 16749 / 20109 =  83.291
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7043 /  8535 =  82.519
0, 1  acc:  7502 /  8276 =  90.648
1, 0  acc:  2817 /  2874 =  98.017
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17535 / 19867 =  88.262
Robust  acc:  7043 /  8535 =  82.519
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.024
Robust Acc: 85.297 | Best Acc: 97.823
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8331 /  9767 =  85.297
0, 1  acc:  6851 /  7535 =  90.922
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17771 / 19962 =  89.024
Robust  acc:  8331 /  9767 =  85.297
------------------------------------
Accuracies by groups:
0, 0  acc:  8331 /  9767 =  85.297
0, 1  acc:  6851 /  7535 =  90.922
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17771 / 19962 =  89.024
Robust  acc:  8331 /  9767 =  85.297
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8331 /  9767 =  85.297
0, 1  acc:  6851 /  7535 =  90.922
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17771 / 19962 =  89.024
Robust  acc:  8331 /  9767 =  85.297
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.077 | Val Loss: 0.002 | Val Acc: 92.696
Training:
Accuracies by groups:
0, 0  acc: 16354 / 20288 =  80.609
0, 1  acc:  8406 /  9217 =  91.201
1, 0  acc: 123800 / 125044 =  99.005
1, 1  acc:  7825 /  8221 =  95.183
--------------------------------------
Average acc: 156385 / 162770 =  96.077
Robust  acc: 16354 / 20288 =  80.609
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7570 /  8535 =  88.694
0, 1  acc:  7975 /  8276 =  96.363
1, 0  acc:  2726 /  2874 =  94.850
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18416 / 19867 =  92.696
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.087
Robust Acc: 73.889 | Best Acc: 96.257
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8879 /  9767 =  90.908
0, 1  acc:  7253 /  7535 =  96.257
1, 0  acc:  2317 /  2480 =  93.427
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18582 / 19962 =  93.087
Robust  acc:   133 /   180 =  73.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8879 /  9767 =  90.908
0, 1  acc:  7253 /  7535 =  96.257
1, 0  acc:  2317 /  2480 =  93.427
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18582 / 19962 =  93.087
Robust  acc:   133 /   180 =  73.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8879 /  9767 =  90.908
0, 1  acc:  7253 /  7535 =  96.257
1, 0  acc:  2317 /  2480 =  93.427
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18582 / 19962 =  93.087
Robust  acc:   133 /   180 =  73.889
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.613 | Val Loss: 0.002 | Val Acc: 93.185
Training:
Accuracies by groups:
0, 0  acc: 15718 / 20089 =  78.242
0, 1  acc:  8299 /  9178 =  90.423
1, 0  acc: 123742 / 125192 =  98.842
1, 1  acc:  7871 /  8311 =  94.706
--------------------------------------
Average acc: 155630 / 162770 =  95.613
Robust  acc: 15718 / 20089 =  78.242
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7702 /  8535 =  90.240
0, 1  acc:  7979 /  8276 =  96.411
1, 0  acc:  2675 /  2874 =  93.076
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 18513 / 19867 =  93.185
Robust  acc:   157 /   182 =  86.264
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.658
Robust Acc: 73.889 | Best Acc: 96.417
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  9008 /  9767 =  92.229
0, 1  acc:  7265 /  7535 =  96.417
1, 0  acc:  2290 /  2480 =  92.339
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18696 / 19962 =  93.658
Robust  acc:   133 /   180 =  73.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9008 /  9767 =  92.229
0, 1  acc:  7265 /  7535 =  96.417
1, 0  acc:  2290 /  2480 =  92.339
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18696 / 19962 =  93.658
Robust  acc:   133 /   180 =  73.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9008 /  9767 =  92.229
0, 1  acc:  7265 /  7535 =  96.417
1, 0  acc:  2290 /  2480 =  92.339
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18696 / 19962 =  93.658
Robust  acc:   133 /   180 =  73.889
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.086 | Val Loss: 0.004 | Val Acc: 80.500
Training:
Accuracies by groups:
0, 0  acc: 15563 / 20334 =  76.537
0, 1  acc:  8064 /  9099 =  88.625
1, 0  acc: 123504 / 125193 =  98.651
1, 1  acc:  7641 /  8144 =  93.824
--------------------------------------
Average acc: 154772 / 162770 =  95.086
Robust  acc: 15563 / 20334 =  76.537
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5995 /  8535 =  70.240
0, 1  acc:  6959 /  8276 =  84.087
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 15993 / 19867 =  80.500
Robust  acc:  5995 /  8535 =  70.240
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.186
Robust Acc: 75.796 | Best Acc: 99.234
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  7403 /  9767 =  75.796
0, 1  acc:  6371 /  7535 =  84.552
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16406 / 19962 =  82.186
Robust  acc:  7403 /  9767 =  75.796
------------------------------------
Accuracies by groups:
0, 0  acc:  7403 /  9767 =  75.796
0, 1  acc:  6371 /  7535 =  84.552
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16406 / 19962 =  82.186
Robust  acc:  7403 /  9767 =  75.796
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7403 /  9767 =  75.796
0, 1  acc:  6371 /  7535 =  84.552
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16406 / 19962 =  82.186
Robust  acc:  7403 /  9767 =  75.796
------------------------------------
Epoch:  19 | Train Loss: 0.002 | Train Acc: 94.635 | Val Loss: 0.003 | Val Acc: 89.384
Training:
Accuracies by groups:
0, 0  acc: 14971 / 20059 =  74.635
0, 1  acc:  7905 /  9129 =  86.592
1, 0  acc: 123235 / 125059 =  98.541
1, 1  acc:  7927 /  8523 =  93.007
--------------------------------------
Average acc: 154038 / 162770 =  94.635
Robust  acc: 14971 / 20059 =  74.635
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7206 /  8535 =  84.429
0, 1  acc:  7577 /  8276 =  91.554
1, 0  acc:  2805 /  2874 =  97.599
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17758 / 19867 =  89.384
Robust  acc:  7206 /  8535 =  84.429
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.256
Robust Acc: 87.366 | Best Acc: 97.056
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  8533 /  9767 =  87.366
0, 1  acc:  6918 /  7535 =  91.812
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 18017 / 19962 =  90.256
Robust  acc:  8533 /  9767 =  87.366
------------------------------------
Accuracies by groups:
0, 0  acc:  8533 /  9767 =  87.366
0, 1  acc:  6918 /  7535 =  91.812
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 18017 / 19962 =  90.256
Robust  acc:  8533 /  9767 =  87.366
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8533 /  9767 =  87.366
0, 1  acc:  6918 /  7535 =  91.812
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 18017 / 19962 =  90.256
Robust  acc:  8533 /  9767 =  87.366
------------------------------------
Epoch:  20 | Train Loss: 0.002 | Train Acc: 94.254 | Val Loss: 0.006 | Val Acc: 67.876
Training:
Accuracies by groups:
0, 0  acc: 14647 / 20004 =  73.220
0, 1  acc:  7902 /  9243 =  85.492
1, 0  acc: 122982 / 125027 =  98.364
1, 1  acc:  7886 /  8496 =  92.820
--------------------------------------
Average acc: 153417 / 162770 =  94.254
Robust  acc: 14647 / 20004 =  73.220
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4710 /  8535 =  55.185
0, 1  acc:  5727 /  8276 =  69.200
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 13485 / 19867 =  67.876
Robust  acc:  4710 /  8535 =  55.185
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.287
Robust Acc: 60.756 | Best Acc: 99.677
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  5934 /  9767 =  60.756
0, 1  acc:  5247 /  7535 =  69.635
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13831 / 19962 =  69.287
Robust  acc:  5934 /  9767 =  60.756
------------------------------------
Accuracies by groups:
0, 0  acc:  5934 /  9767 =  60.756
0, 1  acc:  5247 /  7535 =  69.635
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13831 / 19962 =  69.287
Robust  acc:  5934 /  9767 =  60.756
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5934 /  9767 =  60.756
0, 1  acc:  5247 /  7535 =  69.635
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13831 / 19962 =  69.287
Robust  acc:  5934 /  9767 =  60.756
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 94.002 | Val Loss: 0.005 | Val Acc: 69.935
Training:
Accuracies by groups:
0, 0  acc: 14467 / 20065 =  72.101
0, 1  acc:  7775 /  9248 =  84.072
1, 0  acc: 123122 / 125189 =  98.349
1, 1  acc:  7643 /  8268 =  92.441
--------------------------------------
Average acc: 153007 / 162770 =  94.002
Robust  acc: 14467 / 20065 =  72.101
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5082 /  8535 =  59.543
0, 1  acc:  5767 /  8276 =  69.683
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 13894 / 19867 =  69.935
Robust  acc:  5082 /  8535 =  59.543
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 71.887
Robust Acc: 65.875 | Best Acc: 99.718
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  6434 /  9767 =  65.875
0, 1  acc:  5265 /  7535 =  69.874
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14350 / 19962 =  71.887
Robust  acc:  6434 /  9767 =  65.875
------------------------------------
Accuracies by groups:
0, 0  acc:  6434 /  9767 =  65.875
0, 1  acc:  5265 /  7535 =  69.874
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14350 / 19962 =  71.887
Robust  acc:  6434 /  9767 =  65.875
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6434 /  9767 =  65.875
0, 1  acc:  5265 /  7535 =  69.874
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14350 / 19962 =  71.887
Robust  acc:  6434 /  9767 =  65.875
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 93.773 | Val Loss: 0.002 | Val Acc: 94.609
Training:
Accuracies by groups:
0, 0  acc: 14258 / 20088 =  70.978
0, 1  acc:  7818 /  9397 =  83.197
1, 0  acc: 122940 / 125061 =  98.304
1, 1  acc:  7618 /  8224 =  92.631
--------------------------------------
Average acc: 152634 / 162770 =  93.773
Robust  acc: 14258 / 20088 =  70.978
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8309 /  8535 =  97.352
0, 1  acc:  8219 /  8276 =  99.311
1, 0  acc:  2186 /  2874 =  76.061
1, 1  acc:    82 /   182 =  45.055
------------------------------------
Average acc: 18796 / 19867 =  94.609
Robust  acc:    82 /   182 =  45.055
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.630
Robust Acc: 39.444 | Best Acc: 98.925
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  9517 /  9767 =  97.440
0, 1  acc:  7454 /  7535 =  98.925
1, 0  acc:  1848 /  2480 =  74.516
1, 1  acc:    71 /   180 =  39.444
------------------------------------
Average acc: 18890 / 19962 =  94.630
Robust  acc:    71 /   180 =  39.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9517 /  9767 =  97.440
0, 1  acc:  7454 /  7535 =  98.925
1, 0  acc:  1848 /  2480 =  74.516
1, 1  acc:    71 /   180 =  39.444
------------------------------------
Average acc: 18890 / 19962 =  94.630
Robust  acc:    71 /   180 =  39.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9517 /  9767 =  97.440
0, 1  acc:  7454 /  7535 =  98.925
1, 0  acc:  1848 /  2480 =  74.516
1, 1  acc:    71 /   180 =  39.444
------------------------------------
Average acc: 18890 / 19962 =  94.630
Robust  acc:    71 /   180 =  39.444
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 93.688 | Val Loss: 0.007 | Val Acc: 56.234
Training:
Accuracies by groups:
0, 0  acc: 14098 / 20018 =  70.427
0, 1  acc:  7815 /  9489 =  82.359
1, 0  acc: 123062 / 125119 =  98.356
1, 1  acc:  7521 /  8144 =  92.350
--------------------------------------
Average acc: 152496 / 162770 =  93.688
Robust  acc: 14098 / 20018 =  70.427
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3762 /  8535 =  44.077
0, 1  acc:  4362 /  8276 =  52.707
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11172 / 19867 =  56.234
Robust  acc:  3762 /  8535 =  44.077
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 57.274
Robust Acc: 48.561 | Best Acc: 99.677
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  4743 /  9767 =  48.561
0, 1  acc:  4040 /  7535 =  53.616
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11433 / 19962 =  57.274
Robust  acc:  4743 /  9767 =  48.561
------------------------------------
Accuracies by groups:
0, 0  acc:  4743 /  9767 =  48.561
0, 1  acc:  4040 /  7535 =  53.616
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11433 / 19962 =  57.274
Robust  acc:  4743 /  9767 =  48.561
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4743 /  9767 =  48.561
0, 1  acc:  4040 /  7535 =  53.616
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11433 / 19962 =  57.274
Robust  acc:  4743 /  9767 =  48.561
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 93.432 | Val Loss: 0.004 | Val Acc: 84.779
Training:
Accuracies by groups:
0, 0  acc: 13908 / 20137 =  69.067
0, 1  acc:  7419 /  9290 =  79.860
1, 0  acc: 123045 / 125085 =  98.369
1, 1  acc:  7708 /  8258 =  93.340
--------------------------------------
Average acc: 152080 / 162770 =  93.432
Robust  acc: 13908 / 20137 =  69.067
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6594 /  8535 =  77.258
0, 1  acc:  7242 /  8276 =  87.506
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 16843 / 19867 =  84.779
Robust  acc:  6594 /  8535 =  77.258
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.484
Robust Acc: 81.673 | Best Acc: 98.589
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  7977 /  9767 =  81.673
0, 1  acc:  6686 /  7535 =  88.733
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17264 / 19962 =  86.484
Robust  acc:  7977 /  9767 =  81.673
------------------------------------
Accuracies by groups:
0, 0  acc:  7977 /  9767 =  81.673
0, 1  acc:  6686 /  7535 =  88.733
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17264 / 19962 =  86.484
Robust  acc:  7977 /  9767 =  81.673
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7977 /  9767 =  81.673
0, 1  acc:  6686 /  7535 =  88.733
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17264 / 19962 =  86.484
Robust  acc:  7977 /  9767 =  81.673
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 93.418 | Val Loss: 0.003 | Val Acc: 86.888
Training:
Accuracies by groups:
0, 0  acc: 13617 / 19861 =  68.562
0, 1  acc:  7389 /  9314 =  79.332
1, 0  acc: 123389 / 125391 =  98.403
1, 1  acc:  7661 /  8204 =  93.381
--------------------------------------
Average acc: 152056 / 162770 =  93.418
Robust  acc: 13617 / 19861 =  68.562
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6813 /  8535 =  79.824
0, 1  acc:  7448 /  8276 =  89.995
1, 0  acc:  2826 /  2874 =  98.330
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 17262 / 19867 =  86.888
Robust  acc:  6813 /  8535 =  79.824
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.857
Robust Acc: 83.885 | Best Acc: 97.137
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  8193 /  9767 =  83.885
0, 1  acc:  6775 /  7535 =  89.914
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17538 / 19962 =  87.857
Robust  acc:  8193 /  9767 =  83.885
------------------------------------
Accuracies by groups:
0, 0  acc:  8193 /  9767 =  83.885
0, 1  acc:  6775 /  7535 =  89.914
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17538 / 19962 =  87.857
Robust  acc:  8193 /  9767 =  83.885
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8193 /  9767 =  83.885
0, 1  acc:  6775 /  7535 =  89.914
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17538 / 19962 =  87.857
Robust  acc:  8193 /  9767 =  83.885
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 93.526 | Val Loss: 0.004 | Val Acc: 83.198
Training:
Accuracies by groups:
0, 0  acc: 13644 / 19957 =  68.367
0, 1  acc:  7382 /  9236 =  79.926
1, 0  acc: 123411 / 125237 =  98.542
1, 1  acc:  7796 /  8340 =  93.477
--------------------------------------
Average acc: 152233 / 162770 =  93.526
Robust  acc: 13644 / 19957 =  68.367
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6270 /  8535 =  73.462
0, 1  acc:  7247 /  8276 =  87.566
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16529 / 19867 =  83.198
Robust  acc:  6270 /  8535 =  73.462
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.440
Robust Acc: 77.997 | Best Acc: 98.831
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  7618 /  9767 =  77.997
0, 1  acc:  6625 /  7535 =  87.923
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16856 / 19962 =  84.440
Robust  acc:  7618 /  9767 =  77.997
------------------------------------
Accuracies by groups:
0, 0  acc:  7618 /  9767 =  77.997
0, 1  acc:  6625 /  7535 =  87.923
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16856 / 19962 =  84.440
Robust  acc:  7618 /  9767 =  77.997
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7618 /  9767 =  77.997
0, 1  acc:  6625 /  7535 =  87.923
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16856 / 19962 =  84.440
Robust  acc:  7618 /  9767 =  77.997
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 93.289 | Val Loss: 0.015 | Val Acc: 15.715
Training:
Accuracies by groups:
0, 0  acc: 13580 / 20102 =  67.555
0, 1  acc:  7278 /  9278 =  78.444
1, 0  acc: 123223 / 125091 =  98.507
1, 1  acc:  7766 /  8299 =  93.578
--------------------------------------
Average acc: 151847 / 162770 =  93.289
Robust  acc: 13580 / 20102 =  67.555
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:     5 /  8535 =   0.059
0, 1  acc:    61 /  8276 =   0.737
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  3122 / 19867 =  15.715
Robust  acc:     5 /  8535 =   0.059
------------------------------------
-------------------------------------------
Avg Test Loss: 0.015 | Avg Test Acc: 13.591
Robust Acc: 0.051 | Best Acc: 100.000
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:     5 /  9767 =   0.051
0, 1  acc:    48 /  7535 =   0.637
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  2713 / 19962 =  13.591
Robust  acc:     5 /  9767 =   0.051
------------------------------------
Accuracies by groups:
0, 0  acc:     5 /  9767 =   0.051
0, 1  acc:    48 /  7535 =   0.637
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  2713 / 19962 =  13.591
Robust  acc:     5 /  9767 =   0.051
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:     5 /  9767 =   0.051
0, 1  acc:    48 /  7535 =   0.637
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  2713 / 19962 =  13.591
Robust  acc:     5 /  9767 =   0.051
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 93.267 | Val Loss: 0.005 | Val Acc: 71.349
Training:
Accuracies by groups:
0, 0  acc: 13450 / 19960 =  67.385
0, 1  acc:  7223 /  9215 =  78.383
1, 0  acc: 123354 / 125272 =  98.469
1, 1  acc:  7783 /  8323 =  93.512
--------------------------------------
Average acc: 151810 / 162770 =  93.267
Robust  acc: 13450 / 19960 =  67.385
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5246 /  8535 =  61.465
0, 1  acc:  5885 /  8276 =  71.109
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14175 / 19867 =  71.349
Robust  acc:  5246 /  8535 =  61.465
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.084
Robust Acc: 67.718 | Best Acc: 99.435
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  6614 /  9767 =  67.718
0, 1  acc:  5333 /  7535 =  70.776
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14589 / 19962 =  73.084
Robust  acc:  6614 /  9767 =  67.718
------------------------------------
Accuracies by groups:
0, 0  acc:  6614 /  9767 =  67.718
0, 1  acc:  5333 /  7535 =  70.776
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14589 / 19962 =  73.084
Robust  acc:  6614 /  9767 =  67.718
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6614 /  9767 =  67.718
0, 1  acc:  5333 /  7535 =  70.776
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14589 / 19962 =  73.084
Robust  acc:  6614 /  9767 =  67.718
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 93.218 | Val Loss: 0.009 | Val Acc: 42.749
Training:
Accuracies by groups:
0, 0  acc: 13532 / 20199 =  66.993
0, 1  acc:  7351 /  9365 =  78.494
1, 0  acc: 123030 / 124854 =  98.539
1, 1  acc:  7818 /  8352 =  93.606
--------------------------------------
Average acc: 151731 / 162770 =  93.218
Robust  acc: 13532 / 20199 =  66.993
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2518 /  8535 =  29.502
0, 1  acc:  2921 /  8276 =  35.295
1, 0  acc:  2872 /  2874 =  99.930
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  8493 / 19867 =  42.749
Robust  acc:  2518 /  8535 =  29.502
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 43.488
Robust Acc: 34.739 | Best Acc: 99.919
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  3393 /  9767 =  34.739
0, 1  acc:  2632 /  7535 =  34.930
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8681 / 19962 =  43.488
Robust  acc:  3393 /  9767 =  34.739
------------------------------------
Accuracies by groups:
0, 0  acc:  3393 /  9767 =  34.739
0, 1  acc:  2632 /  7535 =  34.930
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8681 / 19962 =  43.488
Robust  acc:  3393 /  9767 =  34.739
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3393 /  9767 =  34.739
0, 1  acc:  2632 /  7535 =  34.930
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8681 / 19962 =  43.488
Robust  acc:  3393 /  9767 =  34.739
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.106 | Val Loss: 0.004 | Val Acc: 83.037
Training:
Accuracies by groups:
0, 0  acc: 13521 / 20246 =  66.784
0, 1  acc:  7278 /  9413 =  77.319
1, 0  acc: 123036 / 124883 =  98.521
1, 1  acc:  7714 /  8228 =  93.753
--------------------------------------
Average acc: 151549 / 162770 =  93.106
Robust  acc: 13521 / 20246 =  66.784
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6504 /  8535 =  76.204
0, 1  acc:  6982 /  8276 =  84.364
1, 0  acc:  2833 /  2874 =  98.573
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16497 / 19867 =  83.037
Robust  acc:  6504 /  8535 =  76.204
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.686
Robust Acc: 81.222 | Best Acc: 98.629
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  7933 /  9767 =  81.222
0, 1  acc:  6359 /  7535 =  84.393
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16905 / 19962 =  84.686
Robust  acc:  7933 /  9767 =  81.222
------------------------------------
Accuracies by groups:
0, 0  acc:  7933 /  9767 =  81.222
0, 1  acc:  6359 /  7535 =  84.393
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16905 / 19962 =  84.686
Robust  acc:  7933 /  9767 =  81.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7933 /  9767 =  81.222
0, 1  acc:  6359 /  7535 =  84.393
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16905 / 19962 =  84.686
Robust  acc:  7933 /  9767 =  81.222
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.168 | Val Loss: 0.003 | Val Acc: 88.675
Training:
Accuracies by groups:
0, 0  acc: 13478 / 20267 =  66.502
0, 1  acc:  7095 /  9154 =  77.507
1, 0  acc: 123470 / 125229 =  98.595
1, 1  acc:  7607 /  8120 =  93.682
--------------------------------------
Average acc: 151650 / 162770 =  93.168
Robust  acc: 13478 / 20267 =  66.502
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7170 /  8535 =  84.007
0, 1  acc:  7492 /  8276 =  90.527
1, 0  acc:  2786 /  2874 =  96.938
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17617 / 19867 =  88.675
Robust  acc:  7170 /  8535 =  84.007
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.871
Robust Acc: 84.444 | Best Acc: 96.089
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  8564 /  9767 =  87.683
0, 1  acc:  6841 /  7535 =  90.790
1, 0  acc:  2383 /  2480 =  96.089
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17940 / 19962 =  89.871
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8564 /  9767 =  87.683
0, 1  acc:  6841 /  7535 =  90.790
1, 0  acc:  2383 /  2480 =  96.089
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17940 / 19962 =  89.871
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8564 /  9767 =  87.683
0, 1  acc:  6841 /  7535 =  90.790
1, 0  acc:  2383 /  2480 =  96.089
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17940 / 19962 =  89.871
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.248 | Val Loss: 0.004 | Val Acc: 79.388
Training:
Accuracies by groups:
0, 0  acc: 13379 / 19994 =  66.915
0, 1  acc:  7187 /  9289 =  77.371
1, 0  acc: 123411 / 125158 =  98.604
1, 1  acc:  7802 /  8329 =  93.673
--------------------------------------
Average acc: 151779 / 162770 =  93.248
Robust  acc: 13379 / 19994 =  66.915
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6063 /  8535 =  71.037
0, 1  acc:  6679 /  8276 =  80.703
1, 0  acc:  2852 /  2874 =  99.235
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15772 / 19867 =  79.388
Robust  acc:  6063 /  8535 =  71.037
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.199
Robust Acc: 76.400 | Best Acc: 99.153
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  7462 /  9767 =  76.400
0, 1  acc:  6117 /  7535 =  81.181
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16209 / 19962 =  81.199
Robust  acc:  7462 /  9767 =  76.400
------------------------------------
Accuracies by groups:
0, 0  acc:  7462 /  9767 =  76.400
0, 1  acc:  6117 /  7535 =  81.181
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16209 / 19962 =  81.199
Robust  acc:  7462 /  9767 =  76.400
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7462 /  9767 =  76.400
0, 1  acc:  6117 /  7535 =  81.181
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16209 / 19962 =  81.199
Robust  acc:  7462 /  9767 =  76.400
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.260 | Val Loss: 0.004 | Val Acc: 81.522
Training:
Accuracies by groups:
0, 0  acc: 13339 / 20018 =  66.635
0, 1  acc:  7017 /  9076 =  77.314
1, 0  acc: 123750 / 125454 =  98.642
1, 1  acc:  7693 /  8222 =  93.566
--------------------------------------
Average acc: 151799 / 162770 =  93.260
Robust  acc: 13339 / 20018 =  66.635
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6352 /  8535 =  74.423
0, 1  acc:  6832 /  8276 =  82.552
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16196 / 19867 =  81.522
Robust  acc:  6352 /  8535 =  74.423
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.113
Robust Acc: 79.492 | Best Acc: 98.145
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7764 /  9767 =  79.492
0, 1  acc:  6224 /  7535 =  82.601
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16591 / 19962 =  83.113
Robust  acc:  7764 /  9767 =  79.492
------------------------------------
Accuracies by groups:
0, 0  acc:  7764 /  9767 =  79.492
0, 1  acc:  6224 /  7535 =  82.601
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16591 / 19962 =  83.113
Robust  acc:  7764 /  9767 =  79.492
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7764 /  9767 =  79.492
0, 1  acc:  6224 /  7535 =  82.601
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16591 / 19962 =  83.113
Robust  acc:  7764 /  9767 =  79.492
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.172 | Val Loss: 0.004 | Val Acc: 81.452
Training:
Accuracies by groups:
0, 0  acc: 13238 / 20001 =  66.187
0, 1  acc:  7130 /  9222 =  77.315
1, 0  acc: 123636 / 125377 =  98.611
1, 1  acc:  7652 /  8170 =  93.660
--------------------------------------
Average acc: 151656 / 162770 =  93.172
Robust  acc: 13238 / 20001 =  66.187
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6362 /  8535 =  74.540
0, 1  acc:  6809 /  8276 =  82.274
1, 0  acc:  2837 /  2874 =  98.713
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16182 / 19867 =  81.452
Robust  acc:  6362 /  8535 =  74.540
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.188
Robust Acc: 79.717 | Best Acc: 98.306
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  7786 /  9767 =  79.717
0, 1  acc:  6218 /  7535 =  82.522
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16606 / 19962 =  83.188
Robust  acc:  7786 /  9767 =  79.717
------------------------------------
Accuracies by groups:
0, 0  acc:  7786 /  9767 =  79.717
0, 1  acc:  6218 /  7535 =  82.522
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16606 / 19962 =  83.188
Robust  acc:  7786 /  9767 =  79.717
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7786 /  9767 =  79.717
0, 1  acc:  6218 /  7535 =  82.522
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16606 / 19962 =  83.188
Robust  acc:  7786 /  9767 =  79.717
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.249 | Val Loss: 0.003 | Val Acc: 93.195
Training:
Accuracies by groups:
0, 0  acc: 13554 / 20264 =  66.887
0, 1  acc:  7229 /  9358 =  77.249
1, 0  acc: 123319 / 124983 =  98.669
1, 1  acc:  7679 /  8165 =  94.048
--------------------------------------
Average acc: 151781 / 162770 =  93.249
Robust  acc: 13554 / 20264 =  66.887
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7748 /  8535 =  90.779
0, 1  acc:  7991 /  8276 =  96.556
1, 0  acc:  2647 /  2874 =  92.102
1, 1  acc:   129 /   182 =  70.879
------------------------------------
Average acc: 18515 / 19867 =  93.195
Robust  acc:   129 /   182 =  70.879
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.928
Robust Acc: 67.222 | Best Acc: 96.549
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  9086 /  9767 =  93.028
0, 1  acc:  7275 /  7535 =  96.549
1, 0  acc:  2268 /  2480 =  91.452
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18750 / 19962 =  93.928
Robust  acc:   121 /   180 =  67.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9086 /  9767 =  93.028
0, 1  acc:  7275 /  7535 =  96.549
1, 0  acc:  2268 /  2480 =  91.452
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18750 / 19962 =  93.928
Robust  acc:   121 /   180 =  67.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9086 /  9767 =  93.028
0, 1  acc:  7275 /  7535 =  96.549
1, 0  acc:  2268 /  2480 =  91.452
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18750 / 19962 =  93.928
Robust  acc:   121 /   180 =  67.222
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.162 | Val Loss: 0.010 | Val Acc: 31.389
Training:
Accuracies by groups:
0, 0  acc: 13521 / 20262 =  66.731
0, 1  acc:  7127 /  9184 =  77.602
1, 0  acc: 123290 / 125083 =  98.567
1, 1  acc:  7701 /  8241 =  93.447
--------------------------------------
Average acc: 151639 / 162770 =  93.162
Robust  acc: 13521 / 20262 =  66.731
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:   851 /  8535 =   9.971
0, 1  acc:  2329 /  8276 =  28.142
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  6236 / 19867 =  31.389
Robust  acc:   851 /  8535 =   9.971
------------------------------------
-------------------------------------------
Avg Test Loss: 0.010 | Avg Test Acc: 30.428
Robust Acc: 12.982 | Best Acc: 100.000
--------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  1268 /  9767 =  12.982
0, 1  acc:  2147 /  7535 =  28.494
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  6074 / 19962 =  30.428
Robust  acc:  1268 /  9767 =  12.982
------------------------------------
Accuracies by groups:
0, 0  acc:  1268 /  9767 =  12.982
0, 1  acc:  2147 /  7535 =  28.494
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  6074 / 19962 =  30.428
Robust  acc:  1268 /  9767 =  12.982
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  1268 /  9767 =  12.982
0, 1  acc:  2147 /  7535 =  28.494
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  6074 / 19962 =  30.428
Robust  acc:  1268 /  9767 =  12.982
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.337 | Val Loss: 0.003 | Val Acc: 88.015
Training:
Accuracies by groups:
0, 0  acc: 13457 / 20064 =  67.070
0, 1  acc:  7300 /  9357 =  78.016
1, 0  acc: 123417 / 125095 =  98.659
1, 1  acc:  7750 /  8254 =  93.894
--------------------------------------
Average acc: 151924 / 162770 =  93.337
Robust  acc: 13457 / 20064 =  67.070
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7003 /  8535 =  82.050
0, 1  acc:  7508 /  8276 =  90.720
1, 0  acc:  2805 /  2874 =  97.599
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17486 / 19867 =  88.015
Robust  acc:  7003 /  8535 =  82.050
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.380
Robust Acc: 86.239 | Best Acc: 96.734
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  8423 /  9767 =  86.239
0, 1  acc:  6862 /  7535 =  91.068
1, 0  acc:  2399 /  2480 =  96.734
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17842 / 19962 =  89.380
Robust  acc:  8423 /  9767 =  86.239
------------------------------------
Accuracies by groups:
0, 0  acc:  8423 /  9767 =  86.239
0, 1  acc:  6862 /  7535 =  91.068
1, 0  acc:  2399 /  2480 =  96.734
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17842 / 19962 =  89.380
Robust  acc:  8423 /  9767 =  86.239
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8423 /  9767 =  86.239
0, 1  acc:  6862 /  7535 =  91.068
1, 0  acc:  2399 /  2480 =  96.734
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17842 / 19962 =  89.380
Robust  acc:  8423 /  9767 =  86.239
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 93.274 | Val Loss: 0.007 | Val Acc: 61.222
Training:
Accuracies by groups:
0, 0  acc: 13147 / 19802 =  66.392
0, 1  acc:  7223 /  9327 =  77.442
1, 0  acc: 123606 / 125287 =  98.658
1, 1  acc:  7846 /  8354 =  93.919
--------------------------------------
Average acc: 151822 / 162770 =  93.274
Robust  acc: 13147 / 19802 =  66.392
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4053 /  8535 =  47.487
0, 1  acc:  5061 /  8276 =  61.153
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12163 / 19867 =  61.222
Robust  acc:  4053 /  8535 =  47.487
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 62.900
Robust Acc: 54.418 | Best Acc: 99.798
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  5315 /  9767 =  54.418
0, 1  acc:  4588 /  7535 =  60.889
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12556 / 19962 =  62.900
Robust  acc:  5315 /  9767 =  54.418
------------------------------------
Accuracies by groups:
0, 0  acc:  5315 /  9767 =  54.418
0, 1  acc:  4588 /  7535 =  60.889
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12556 / 19962 =  62.900
Robust  acc:  5315 /  9767 =  54.418
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5315 /  9767 =  54.418
0, 1  acc:  4588 /  7535 =  60.889
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12556 / 19962 =  62.900
Robust  acc:  5315 /  9767 =  54.418
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 93.282 | Val Loss: 0.007 | Val Acc: 56.853
Training:
Accuracies by groups:
0, 0  acc: 13530 / 20136 =  67.193
0, 1  acc:  7219 /  9286 =  77.741
1, 0  acc: 123269 / 125012 =  98.606
1, 1  acc:  7817 /  8336 =  93.774
--------------------------------------
Average acc: 151835 / 162770 =  93.282
Robust  acc: 13530 / 20136 =  67.193
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3941 /  8535 =  46.175
0, 1  acc:  4306 /  8276 =  52.030
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11295 / 19867 =  56.853
Robust  acc:  3941 /  8535 =  46.175
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 58.797
Robust Acc: 52.502 | Best Acc: 99.718
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  5130 /  9767 =  52.524
0, 1  acc:  3956 /  7535 =  52.502
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11737 / 19962 =  58.797
Robust  acc:  3956 /  7535 =  52.502
------------------------------------
Accuracies by groups:
0, 0  acc:  5130 /  9767 =  52.524
0, 1  acc:  3956 /  7535 =  52.502
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11737 / 19962 =  58.797
Robust  acc:  3956 /  7535 =  52.502
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5130 /  9767 =  52.524
0, 1  acc:  3956 /  7535 =  52.502
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11737 / 19962 =  58.797
Robust  acc:  3956 /  7535 =  52.502
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 93.315 | Val Loss: 0.003 | Val Acc: 89.077
Training:
Accuracies by groups:
0, 0  acc: 13457 / 20081 =  67.014
0, 1  acc:  7263 /  9249 =  78.527
1, 0  acc: 123396 / 125164 =  98.587
1, 1  acc:  7773 /  8276 =  93.922
--------------------------------------
Average acc: 151889 / 162770 =  93.315
Robust  acc: 13457 / 20081 =  67.014
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7160 /  8535 =  83.890
0, 1  acc:  7581 /  8276 =  91.602
1, 0  acc:  2791 /  2874 =  97.112
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17697 / 19867 =  89.077
Robust  acc:  7160 /  8535 =  83.890
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.342
Robust Acc: 84.444 | Best Acc: 96.371
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  8538 /  9767 =  87.417
0, 1  acc:  6954 /  7535 =  92.289
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18034 / 19962 =  90.342
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8538 /  9767 =  87.417
0, 1  acc:  6954 /  7535 =  92.289
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18034 / 19962 =  90.342
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8538 /  9767 =  87.417
0, 1  acc:  6954 /  7535 =  92.289
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18034 / 19962 =  90.342
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 93.407 | Val Loss: 0.003 | Val Acc: 94.005
Training:
Accuracies by groups:
0, 0  acc: 13622 / 20116 =  67.717
0, 1  acc:  7304 /  9311 =  78.445
1, 0  acc: 123349 / 125073 =  98.622
1, 1  acc:  7764 /  8270 =  93.881
--------------------------------------
Average acc: 152039 / 162770 =  93.407
Robust  acc: 13622 / 20116 =  67.717
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7979 /  8535 =  93.486
0, 1  acc:  8152 /  8276 =  98.502
1, 0  acc:  2434 /  2874 =  84.690
1, 1  acc:   111 /   182 =  60.989
------------------------------------
Average acc: 18676 / 19867 =  94.005
Robust  acc:   111 /   182 =  60.989
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.525
Robust Acc: 49.444 | Best Acc: 98.275
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  9257 /  9767 =  94.778
0, 1  acc:  7405 /  7535 =  98.275
1, 0  acc:  2118 /  2480 =  85.403
1, 1  acc:    89 /   180 =  49.444
------------------------------------
Average acc: 18869 / 19962 =  94.525
Robust  acc:    89 /   180 =  49.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9257 /  9767 =  94.778
0, 1  acc:  7405 /  7535 =  98.275
1, 0  acc:  2118 /  2480 =  85.403
1, 1  acc:    89 /   180 =  49.444
------------------------------------
Average acc: 18869 / 19962 =  94.525
Robust  acc:    89 /   180 =  49.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9257 /  9767 =  94.778
0, 1  acc:  7405 /  7535 =  98.275
1, 0  acc:  2118 /  2480 =  85.403
1, 1  acc:    89 /   180 =  49.444
------------------------------------
Average acc: 18869 / 19962 =  94.525
Robust  acc:    89 /   180 =  49.444
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 93.382 | Val Loss: 0.015 | Val Acc: 16.449
Training:
Accuracies by groups:
0, 0  acc: 13584 / 20130 =  67.481
0, 1  acc:  7399 /  9371 =  78.956
1, 0  acc: 123282 / 125032 =  98.600
1, 1  acc:  7733 /  8237 =  93.881
--------------------------------------
Average acc: 151998 / 162770 =  93.382
Robust  acc: 13584 / 20130 =  67.481
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:   117 /  8535 =   1.371
0, 1  acc:    95 /  8276 =   1.148
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  3268 / 19867 =  16.449
Robust  acc:    95 /  8276 =   1.148
------------------------------------
-------------------------------------------
Avg Test Loss: 0.015 | Avg Test Acc: 14.668
Robust Acc: 1.234 | Best Acc: 100.000
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:   175 /  9767 =   1.792
0, 1  acc:    93 /  7535 =   1.234
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  2928 / 19962 =  14.668
Robust  acc:    93 /  7535 =   1.234
------------------------------------
Accuracies by groups:
0, 0  acc:   175 /  9767 =   1.792
0, 1  acc:    93 /  7535 =   1.234
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  2928 / 19962 =  14.668
Robust  acc:    93 /  7535 =   1.234
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:   175 /  9767 =   1.792
0, 1  acc:    93 /  7535 =   1.234
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  2928 / 19962 =  14.668
Robust  acc:    93 /  7535 =   1.234
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 93.323 | Val Loss: 0.003 | Val Acc: 90.547
Training:
Accuracies by groups:
0, 0  acc: 13620 / 20238 =  67.299
0, 1  acc:  7166 /  9144 =  78.368
1, 0  acc: 123458 / 125160 =  98.640
1, 1  acc:  7658 /  8228 =  93.072
--------------------------------------
Average acc: 151902 / 162770 =  93.323
Robust  acc: 13620 / 20238 =  67.299
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7416 /  8535 =  86.889
0, 1  acc:  7714 /  8276 =  93.209
1, 0  acc:  2708 /  2874 =  94.224
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 17989 / 19867 =  90.547
Robust  acc:   151 /   182 =  82.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.173
Robust Acc: 77.222 | Best Acc: 93.185
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  8752 /  9767 =  89.608
0, 1  acc:  6998 /  7535 =  92.873
1, 0  acc:  2311 /  2480 =  93.185
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18200 / 19962 =  91.173
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8752 /  9767 =  89.608
0, 1  acc:  6998 /  7535 =  92.873
1, 0  acc:  2311 /  2480 =  93.185
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18200 / 19962 =  91.173
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8752 /  9767 =  89.608
0, 1  acc:  6998 /  7535 =  92.873
1, 0  acc:  2311 /  2480 =  93.185
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18200 / 19962 =  91.173
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 93.250 | Val Loss: 0.003 | Val Acc: 87.084
Training:
Accuracies by groups:
0, 0  acc: 13592 / 20186 =  67.334
0, 1  acc:  7333 /  9323 =  78.655
1, 0  acc: 123214 / 125074 =  98.513
1, 1  acc:  7644 /  8187 =  93.368
--------------------------------------
Average acc: 151783 / 162770 =  93.250
Robust  acc: 13592 / 20186 =  67.334
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6757 /  8535 =  79.168
0, 1  acc:  7559 /  8276 =  91.336
1, 0  acc:  2821 /  2874 =  98.156
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 17301 / 19867 =  87.084
Robust  acc:  6757 /  8535 =  79.168
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.997
Robust Acc: 82.861 | Best Acc: 97.823
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  8093 /  9767 =  82.861
0, 1  acc:  6896 /  7535 =  91.520
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17566 / 19962 =  87.997
Robust  acc:  8093 /  9767 =  82.861
------------------------------------
Accuracies by groups:
0, 0  acc:  8093 /  9767 =  82.861
0, 1  acc:  6896 /  7535 =  91.520
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17566 / 19962 =  87.997
Robust  acc:  8093 /  9767 =  82.861
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8093 /  9767 =  82.861
0, 1  acc:  6896 /  7535 =  91.520
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17566 / 19962 =  87.997
Robust  acc:  8093 /  9767 =  82.861
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 93.438 | Val Loss: 0.002 | Val Acc: 93.527
Training:
Accuracies by groups:
0, 0  acc: 13640 / 20069 =  67.966
0, 1  acc:  7406 /  9338 =  79.310
1, 0  acc: 123308 / 125075 =  98.587
1, 1  acc:  7735 /  8288 =  93.328
--------------------------------------
Average acc: 152089 / 162770 =  93.438
Robust  acc: 13640 / 20069 =  67.966
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7806 /  8535 =  91.459
0, 1  acc:  8016 /  8276 =  96.858
1, 0  acc:  2631 /  2874 =  91.545
1, 1  acc:   128 /   182 =  70.330
------------------------------------
Average acc: 18581 / 19867 =  93.527
Robust  acc:   128 /   182 =  70.330
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.943
Robust Acc: 63.333 | Best Acc: 96.523
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  9120 /  9767 =  93.376
0, 1  acc:  7273 /  7535 =  96.523
1, 0  acc:  2246 /  2480 =  90.565
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18753 / 19962 =  93.943
Robust  acc:   114 /   180 =  63.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9120 /  9767 =  93.376
0, 1  acc:  7273 /  7535 =  96.523
1, 0  acc:  2246 /  2480 =  90.565
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18753 / 19962 =  93.943
Robust  acc:   114 /   180 =  63.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9120 /  9767 =  93.376
0, 1  acc:  7273 /  7535 =  96.523
1, 0  acc:  2246 /  2480 =  90.565
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18753 / 19962 =  93.943
Robust  acc:   114 /   180 =  63.333
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 93.537 | Val Loss: 0.007 | Val Acc: 61.232
Training:
Accuracies by groups:
0, 0  acc: 13880 / 20214 =  68.665
0, 1  acc:  7305 /  9240 =  79.058
1, 0  acc: 123287 / 125006 =  98.625
1, 1  acc:  7778 /  8310 =  93.598
--------------------------------------
Average acc: 152250 / 162770 =  93.537
Robust  acc: 13880 / 20214 =  68.665
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4228 /  8535 =  49.537
0, 1  acc:  4889 /  8276 =  59.074
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12165 / 19867 =  61.232
Robust  acc:  4228 /  8535 =  49.537
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 63.030
Robust Acc: 55.606 | Best Acc: 99.677
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  5431 /  9767 =  55.606
0, 1  acc:  4501 /  7535 =  59.735
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12582 / 19962 =  63.030
Robust  acc:  5431 /  9767 =  55.606
------------------------------------
Accuracies by groups:
0, 0  acc:  5431 /  9767 =  55.606
0, 1  acc:  4501 /  7535 =  59.735
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12582 / 19962 =  63.030
Robust  acc:  5431 /  9767 =  55.606
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5431 /  9767 =  55.606
0, 1  acc:  4501 /  7535 =  59.735
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12582 / 19962 =  63.030
Robust  acc:  5431 /  9767 =  55.606
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 93.448 | Val Loss: 0.003 | Val Acc: 94.232
Training:
Accuracies by groups:
0, 0  acc: 13622 / 19987 =  68.154
0, 1  acc:  7372 /  9317 =  79.124
1, 0  acc: 123340 / 125134 =  98.566
1, 1  acc:  7771 /  8332 =  93.267
--------------------------------------
Average acc: 152105 / 162770 =  93.448
Robust  acc: 13622 / 19987 =  68.154
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8168 /  8535 =  95.700
0, 1  acc:  8133 /  8276 =  98.272
1, 0  acc:  2325 /  2874 =  80.898
1, 1  acc:    95 /   182 =  52.198
------------------------------------
Average acc: 18721 / 19867 =  94.232
Robust  acc:    95 /   182 =  52.198
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.419
Robust Acc: 52.222 | Best Acc: 98.062
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  9406 /  9767 =  96.304
0, 1  acc:  7389 /  7535 =  98.062
1, 0  acc:  1959 /  2480 =  78.992
1, 1  acc:    94 /   180 =  52.222
------------------------------------
Average acc: 18848 / 19962 =  94.419
Robust  acc:    94 /   180 =  52.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9406 /  9767 =  96.304
0, 1  acc:  7389 /  7535 =  98.062
1, 0  acc:  1959 /  2480 =  78.992
1, 1  acc:    94 /   180 =  52.222
------------------------------------
Average acc: 18848 / 19962 =  94.419
Robust  acc:    94 /   180 =  52.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9406 /  9767 =  96.304
0, 1  acc:  7389 /  7535 =  98.062
1, 0  acc:  1959 /  2480 =  78.992
1, 1  acc:    94 /   180 =  52.222
------------------------------------
Average acc: 18848 / 19962 =  94.419
Robust  acc:    94 /   180 =  52.222
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 93.560 | Val Loss: 0.003 | Val Acc: 85.977
Training:
Accuracies by groups:
0, 0  acc: 13670 / 19997 =  68.360
0, 1  acc:  7379 /  9247 =  79.799
1, 0  acc: 123290 / 125060 =  98.585
1, 1  acc:  7949 /  8466 =  93.893
--------------------------------------
Average acc: 152288 / 162770 =  93.560
Robust  acc: 13670 / 19997 =  68.360
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8531 /  8535 =  99.953
0, 1  acc:  8276 /  8276 = 100.000
1, 0  acc:   274 /  2874 =   9.534
1, 1  acc:     0 /   182 =   0.000
------------------------------------
Average acc: 17081 / 19867 =  85.977
Robust  acc:     0 /   182 =   0.000
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.842
Robust Acc: 1.667 | Best Acc: 100.000
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  9764 /  9767 =  99.969
0, 1  acc:  7535 /  7535 = 100.000
1, 0  acc:   233 /  2480 =   9.395
1, 1  acc:     3 /   180 =   1.667
------------------------------------
Average acc: 17535 / 19962 =  87.842
Robust  acc:     3 /   180 =   1.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9764 /  9767 =  99.969
0, 1  acc:  7535 /  7535 = 100.000
1, 0  acc:   233 /  2480 =   9.395
1, 1  acc:     3 /   180 =   1.667
------------------------------------
Average acc: 17535 / 19962 =  87.842
Robust  acc:     3 /   180 =   1.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9764 /  9767 =  99.969
0, 1  acc:  7535 /  7535 = 100.000
1, 0  acc:   233 /  2480 =   9.395
1, 1  acc:     3 /   180 =   1.667
------------------------------------
Average acc: 17535 / 19962 =  87.842
Robust  acc:     3 /   180 =   1.667
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 93.514 | Val Loss: 0.011 | Val Acc: 29.627
Training:
Accuracies by groups:
0, 0  acc: 13709 / 20065 =  68.323
0, 1  acc:  7205 /  9137 =  78.855
1, 0  acc: 123642 / 125413 =  98.588
1, 1  acc:  7656 /  8155 =  93.881
--------------------------------------
Average acc: 152212 / 162770 =  93.514
Robust  acc: 13709 / 20065 =  68.323
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1533 /  8535 =  17.961
0, 1  acc:  1297 /  8276 =  15.672
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  5886 / 19867 =  29.627
Robust  acc:  1297 /  8276 =  15.672
------------------------------------
-------------------------------------------
Avg Test Loss: 0.011 | Avg Test Acc: 28.970
Robust Acc: 14.718 | Best Acc: 100.000
--------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  2016 /  9767 =  20.641
0, 1  acc:  1109 /  7535 =  14.718
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  5783 / 19962 =  28.970
Robust  acc:  1109 /  7535 =  14.718
------------------------------------
Accuracies by groups:
0, 0  acc:  2016 /  9767 =  20.641
0, 1  acc:  1109 /  7535 =  14.718
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  5783 / 19962 =  28.970
Robust  acc:  1109 /  7535 =  14.718
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2016 /  9767 =  20.641
0, 1  acc:  1109 /  7535 =  14.718
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  5783 / 19962 =  28.970
Robust  acc:  1109 /  7535 =  14.718
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 93.448 | Val Loss: 0.004 | Val Acc: 82.212
Training:
Accuracies by groups:
0, 0  acc: 13782 / 20227 =  68.137
0, 1  acc:  7493 /  9376 =  79.917
1, 0  acc: 123102 / 124927 =  98.539
1, 1  acc:  7729 /  8240 =  93.799
--------------------------------------
Average acc: 152106 / 162770 =  93.448
Robust  acc: 13782 / 20227 =  68.137
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6348 /  8535 =  74.376
0, 1  acc:  6985 /  8276 =  84.401
1, 0  acc:  2829 /  2874 =  98.434
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16333 / 19867 =  82.212
Robust  acc:  6348 /  8535 =  74.376
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.010
Robust Acc: 79.840 | Best Acc: 97.661
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  7798 /  9767 =  79.840
0, 1  acc:  6387 /  7535 =  84.764
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16770 / 19962 =  84.010
Robust  acc:  7798 /  9767 =  79.840
------------------------------------
Accuracies by groups:
0, 0  acc:  7798 /  9767 =  79.840
0, 1  acc:  6387 /  7535 =  84.764
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16770 / 19962 =  84.010
Robust  acc:  7798 /  9767 =  79.840
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7798 /  9767 =  79.840
0, 1  acc:  6387 /  7535 =  84.764
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16770 / 19962 =  84.010
Robust  acc:  7798 /  9767 =  79.840
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed50.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed50.pt
