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: 
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: 2
Replicate: 0
No cuda: False
Resume: False
New slice: False
Num workers: 32
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: False
Cosine: False
Exp: groupDRO_lr0.0001_wd0.1_bs128_adj9_seed2
Group adj: 9.0
Class balance: False
Bias conflicting criterion: 1
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=2-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
Pretrained model loaded from 
Epoch:   1 | Train Loss: 0.004 | Train Acc: 84.973 | Val Loss: 0.002 | Val Acc: 87.920
Training:
Accuracies by groups:
0, 0  acc: 59931 / 71629 =  83.669
0, 1  acc: 56086 / 66874 =  83.868
1, 0  acc: 21033 / 22880 =  91.927
1, 1  acc:  1260 /  1387 =  90.844
--------------------------------------
Average acc: 138310 / 162770 =  84.973
Robust  acc: 59931 / 71629 =  83.669
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7366 /  8535 =  86.303
0, 1  acc:  7210 /  8276 =  87.119
1, 0  acc:  2716 /  2874 =  94.502
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 17467 / 19867 =  87.920
Robust  acc:  7366 /  8535 =  86.303
------------------------------------
New max robust acc: 86.30345635618043
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed2.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed2.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.894
Robust Acc: 87.127 | Best Acc: 94.516
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  8667 /  9767 =  88.738
0, 1  acc:  6565 /  7535 =  87.127
1, 0  acc:  2344 /  2480 =  94.516
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 17745 / 19962 =  88.894
Robust  acc:  6565 /  7535 =  87.127
------------------------------------
Accuracies by groups:
0, 0  acc:  8667 /  9767 =  88.738
0, 1  acc:  6565 /  7535 =  87.127
1, 0  acc:  2344 /  2480 =  94.516
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 17745 / 19962 =  88.894
Robust  acc:  6565 /  7535 =  87.127
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8667 /  9767 =  88.738
0, 1  acc:  6565 /  7535 =  87.127
1, 0  acc:  2344 /  2480 =  94.516
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 17745 / 19962 =  88.894
Robust  acc:  6565 /  7535 =  87.127
------------------------------------
Epoch:   2 | Train Loss: 0.003 | Train Acc: 90.100 | Val Loss: 0.002 | Val Acc: 90.411
Training:
Accuracies by groups:
0, 0  acc: 63884 / 71629 =  89.187
0, 1  acc: 59960 / 66874 =  89.661
1, 0  acc: 21480 / 22880 =  93.881
1, 1  acc:  1331 /  1387 =  95.963
--------------------------------------
Average acc: 146655 / 162770 =  90.100
Robust  acc: 63884 / 71629 =  89.187
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7578 /  8535 =  88.787
0, 1  acc:  7510 /  8276 =  90.744
1, 0  acc:  2697 /  2874 =  93.841
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 17962 / 19867 =  90.411
Robust  acc:  7578 /  8535 =  88.787
------------------------------------
New max robust acc: 88.78734622144113
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed2.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed2.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.218
Robust Acc: 90.816 | Best Acc: 93.629
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8870 /  9767 =  90.816
0, 1  acc:  6849 /  7535 =  90.896
1, 0  acc:  2322 /  2480 =  93.629
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 18209 / 19962 =  91.218
Robust  acc:  8870 /  9767 =  90.816
------------------------------------
Accuracies by groups:
0, 0  acc:  8870 /  9767 =  90.816
0, 1  acc:  6849 /  7535 =  90.896
1, 0  acc:  2322 /  2480 =  93.629
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 18209 / 19962 =  91.218
Robust  acc:  8870 /  9767 =  90.816
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8870 /  9767 =  90.816
0, 1  acc:  6849 /  7535 =  90.896
1, 0  acc:  2322 /  2480 =  93.629
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 18209 / 19962 =  91.218
Robust  acc:  8870 /  9767 =  90.816
------------------------------------
Epoch:   3 | Train Loss: 0.003 | Train Acc: 91.299 | Val Loss: 0.002 | Val Acc: 90.396
Training:
Accuracies by groups:
0, 0  acc: 64571 / 71629 =  90.146
0, 1  acc: 61156 / 66874 =  91.450
1, 0  acc: 21519 / 22880 =  94.052
1, 1  acc:  1361 /  1387 =  98.125
--------------------------------------
Average acc: 148607 / 162770 =  91.299
Robust  acc: 64571 / 71629 =  90.146
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7586 /  8535 =  88.881
0, 1  acc:  7488 /  8276 =  90.478
1, 0  acc:  2715 /  2874 =  94.468
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17959 / 19867 =  90.396
Robust  acc:  7586 /  8535 =  88.881
------------------------------------
New max robust acc: 88.88107791446983
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed2.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed2.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.153
Robust Acc: 90.621 | Best Acc: 94.315
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8851 /  9767 =  90.621
0, 1  acc:  6842 /  7535 =  90.803
1, 0  acc:  2339 /  2480 =  94.315
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 18196 / 19962 =  91.153
Robust  acc:  8851 /  9767 =  90.621
------------------------------------
Accuracies by groups:
0, 0  acc:  8851 /  9767 =  90.621
0, 1  acc:  6842 /  7535 =  90.803
1, 0  acc:  2339 /  2480 =  94.315
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 18196 / 19962 =  91.153
Robust  acc:  8851 /  9767 =  90.621
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8851 /  9767 =  90.621
0, 1  acc:  6842 /  7535 =  90.803
1, 0  acc:  2339 /  2480 =  94.315
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 18196 / 19962 =  91.153
Robust  acc:  8851 /  9767 =  90.621
------------------------------------
Epoch:   4 | Train Loss: 0.003 | Train Acc: 92.169 | Val Loss: 0.001 | Val Acc: 92.898
Training:
Accuracies by groups:
0, 0  acc: 65017 / 71629 =  90.769
0, 1  acc: 62033 / 66874 =  92.761
1, 0  acc: 21594 / 22880 =  94.379
1, 1  acc:  1379 /  1387 =  99.423
--------------------------------------
Average acc: 150023 / 162770 =  92.169
Robust  acc: 65017 / 71629 =  90.769
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7815 /  8535 =  91.564
0, 1  acc:  7788 /  8276 =  94.103
1, 0  acc:  2688 /  2874 =  93.528
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 18456 / 19867 =  92.898
Robust  acc:   165 /   182 =  90.659
------------------------------------
New max robust acc: 90.65934065934066
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed2.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed2.pt
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.292
Robust Acc: 88.889 | Best Acc: 93.948
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  9068 /  9767 =  92.843
0, 1  acc:  7079 /  7535 =  93.948
1, 0  acc:  2316 /  2480 =  93.387
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 18623 / 19962 =  93.292
Robust  acc:   160 /   180 =  88.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9068 /  9767 =  92.843
0, 1  acc:  7079 /  7535 =  93.948
1, 0  acc:  2316 /  2480 =  93.387
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 18623 / 19962 =  93.292
Robust  acc:   160 /   180 =  88.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9068 /  9767 =  92.843
0, 1  acc:  7079 /  7535 =  93.948
1, 0  acc:  2316 /  2480 =  93.387
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 18623 / 19962 =  93.292
Robust  acc:   160 /   180 =  88.889
------------------------------------
Epoch:   5 | Train Loss: 0.002 | Train Acc: 92.835 | Val Loss: 0.002 | Val Acc: 91.287
Training:
Accuracies by groups:
0, 0  acc: 65386 / 71629 =  91.284
0, 1  acc: 62676 / 66874 =  93.723
1, 0  acc: 21661 / 22880 =  94.672
1, 1  acc:  1384 /  1387 =  99.784
--------------------------------------
Average acc: 151107 / 162770 =  92.835
Robust  acc: 65386 / 71629 =  91.284
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7591 /  8535 =  88.940
0, 1  acc:  7644 /  8276 =  92.363
1, 0  acc:  2733 /  2874 =  95.094
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 18136 / 19867 =  91.287
Robust  acc:  7591 /  8535 =  88.940
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.900
Robust Acc: 91.000 | Best Acc: 95.242
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8888 /  9767 =  91.000
0, 1  acc:  6931 /  7535 =  91.984
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 18345 / 19962 =  91.900
Robust  acc:  8888 /  9767 =  91.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8888 /  9767 =  91.000
0, 1  acc:  6931 /  7535 =  91.984
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 18345 / 19962 =  91.900
Robust  acc:  8888 /  9767 =  91.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8888 /  9767 =  91.000
0, 1  acc:  6931 /  7535 =  91.984
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 18345 / 19962 =  91.900
Robust  acc:  8888 /  9767 =  91.000
------------------------------------
Epoch:   6 | Train Loss: 0.002 | Train Acc: 93.343 | Val Loss: 0.002 | Val Acc: 92.233
Training:
Accuracies by groups:
0, 0  acc: 65652 / 71629 =  91.656
0, 1  acc: 63156 / 66874 =  94.440
1, 0  acc: 21739 / 22880 =  95.013
1, 1  acc:  1387 /  1387 = 100.000
--------------------------------------
Average acc: 151934 / 162770 =  93.343
Robust  acc: 65652 / 71629 =  91.656
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7704 /  8535 =  90.264
0, 1  acc:  7743 /  8276 =  93.560
1, 0  acc:  2718 /  2874 =  94.572
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 18324 / 19867 =  92.233
Robust  acc:   159 /   182 =  87.363
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 92.821
Robust Acc: 89.444 | Best Acc: 94.032
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8985 /  9767 =  91.993
0, 1  acc:  7051 /  7535 =  93.577
1, 0  acc:  2332 /  2480 =  94.032
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 18529 / 19962 =  92.821
Robust  acc:   161 /   180 =  89.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8985 /  9767 =  91.993
0, 1  acc:  7051 /  7535 =  93.577
1, 0  acc:  2332 /  2480 =  94.032
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 18529 / 19962 =  92.821
Robust  acc:   161 /   180 =  89.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8985 /  9767 =  91.993
0, 1  acc:  7051 /  7535 =  93.577
1, 0  acc:  2332 /  2480 =  94.032
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 18529 / 19962 =  92.821
Robust  acc:   161 /   180 =  89.444
------------------------------------
Epoch:   7 | Train Loss: 0.002 | Train Acc: 93.534 | Val Loss: 0.001 | Val Acc: 93.688
Training:
Accuracies by groups:
0, 0  acc: 65825 / 71629 =  91.897
0, 1  acc: 63257 / 66874 =  94.591
1, 0  acc: 21777 / 22880 =  95.179
1, 1  acc:  1386 /  1387 =  99.928
--------------------------------------
Average acc: 152245 / 162770 =  93.534
Robust  acc: 65825 / 71629 =  91.897
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7943 /  8535 =  93.064
0, 1  acc:  7877 /  8276 =  95.179
1, 0  acc:  2638 /  2874 =  91.788
1, 1  acc:   155 /   182 =  85.165
------------------------------------
Average acc: 18613 / 19867 =  93.688
Robust  acc:   155 /   182 =  85.165
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.913
Robust Acc: 81.111 | Best Acc: 94.811
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  9182 /  9767 =  94.010
0, 1  acc:  7144 /  7535 =  94.811
1, 0  acc:  2275 /  2480 =  91.734
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18747 / 19962 =  93.913
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9182 /  9767 =  94.010
0, 1  acc:  7144 /  7535 =  94.811
1, 0  acc:  2275 /  2480 =  91.734
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18747 / 19962 =  93.913
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9182 /  9767 =  94.010
0, 1  acc:  7144 /  7535 =  94.811
1, 0  acc:  2275 /  2480 =  91.734
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18747 / 19962 =  93.913
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:   8 | Train Loss: 0.002 | Train Acc: 93.253 | Val Loss: 0.002 | Val Acc: 92.158
Training:
Accuracies by groups:
0, 0  acc: 65612 / 71629 =  91.600
0, 1  acc: 63012 / 66874 =  94.225
1, 0  acc: 21777 / 22880 =  95.179
1, 1  acc:  1387 /  1387 = 100.000
--------------------------------------
Average acc: 151788 / 162770 =  93.253
Robust  acc: 65612 / 71629 =  91.600
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7697 /  8535 =  90.182
0, 1  acc:  7718 /  8276 =  93.258
1, 0  acc:  2729 /  2874 =  94.955
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 18309 / 19867 =  92.158
Robust  acc:  7697 /  8535 =  90.182
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.661
Robust Acc: 86.111 | Best Acc: 94.516
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8973 /  9767 =  91.871
0, 1  acc:  7025 /  7535 =  93.232
1, 0  acc:  2344 /  2480 =  94.516
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18497 / 19962 =  92.661
Robust  acc:   155 /   180 =  86.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8973 /  9767 =  91.871
0, 1  acc:  7025 /  7535 =  93.232
1, 0  acc:  2344 /  2480 =  94.516
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18497 / 19962 =  92.661
Robust  acc:   155 /   180 =  86.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8973 /  9767 =  91.871
0, 1  acc:  7025 /  7535 =  93.232
1, 0  acc:  2344 /  2480 =  94.516
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18497 / 19962 =  92.661
Robust  acc:   155 /   180 =  86.111
------------------------------------
Epoch:   9 | Train Loss: 0.002 | Train Acc: 93.800 | Val Loss: 0.002 | Val Acc: 91.483
Training:
Accuracies by groups:
0, 0  acc: 65975 / 71629 =  92.107
0, 1  acc: 63469 / 66874 =  94.908
1, 0  acc: 21847 / 22880 =  95.485
1, 1  acc:  1387 /  1387 = 100.000
--------------------------------------
Average acc: 152678 / 162770 =  93.800
Robust  acc: 65975 / 71629 =  92.107
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7667 /  8535 =  89.830
0, 1  acc:  7629 /  8276 =  92.182
1, 0  acc:  2714 /  2874 =  94.433
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 18175 / 19867 =  91.483
Robust  acc:  7667 /  8535 =  89.830
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.749
Robust Acc: 87.778 | Best Acc: 93.710
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8928 /  9767 =  91.410
0, 1  acc:  6905 /  7535 =  91.639
1, 0  acc:  2324 /  2480 =  93.710
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 18315 / 19962 =  91.749
Robust  acc:   158 /   180 =  87.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8928 /  9767 =  91.410
0, 1  acc:  6905 /  7535 =  91.639
1, 0  acc:  2324 /  2480 =  93.710
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 18315 / 19962 =  91.749
Robust  acc:   158 /   180 =  87.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8928 /  9767 =  91.410
0, 1  acc:  6905 /  7535 =  91.639
1, 0  acc:  2324 /  2480 =  93.710
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 18315 / 19962 =  91.749
Robust  acc:   158 /   180 =  87.778
------------------------------------
Epoch:  10 | Train Loss: 0.003 | Train Acc: 92.053 | Val Loss: 0.002 | Val Acc: 89.787
Training:
Accuracies by groups:
0, 0  acc: 64912 / 71629 =  90.623
0, 1  acc: 61773 / 66874 =  92.372
1, 0  acc: 21779 / 22880 =  95.188
1, 1  acc:  1370 /  1387 =  98.774
--------------------------------------
Average acc: 149834 / 162770 =  92.053
Robust  acc: 64912 / 71629 =  90.623
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7678 /  8535 =  89.959
0, 1  acc:  7365 /  8276 =  88.992
1, 0  acc:  2625 /  2874 =  91.336
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17838 / 19867 =  89.787
Robust  acc:  7365 /  8276 =  88.992
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.362
Robust Acc: 86.111 | Best Acc: 91.594
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8946 /  9767 =  91.594
0, 1  acc:  6690 /  7535 =  88.786
1, 0  acc:  2247 /  2480 =  90.605
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18038 / 19962 =  90.362
Robust  acc:   155 /   180 =  86.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8946 /  9767 =  91.594
0, 1  acc:  6690 /  7535 =  88.786
1, 0  acc:  2247 /  2480 =  90.605
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18038 / 19962 =  90.362
Robust  acc:   155 /   180 =  86.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8946 /  9767 =  91.594
0, 1  acc:  6690 /  7535 =  88.786
1, 0  acc:  2247 /  2480 =  90.605
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18038 / 19962 =  90.362
Robust  acc:   155 /   180 =  86.111
------------------------------------
Epoch:  11 | Train Loss: 0.003 | Train Acc: 91.330 | Val Loss: 0.002 | Val Acc: 91.514
Training:
Accuracies by groups:
0, 0  acc: 64714 / 71629 =  90.346
0, 1  acc: 60923 / 66874 =  91.101
1, 0  acc: 21664 / 22880 =  94.685
1, 1  acc:  1357 /  1387 =  97.837
--------------------------------------
Average acc: 148658 / 162770 =  91.330
Robust  acc: 64714 / 71629 =  90.346
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7705 /  8535 =  90.275
0, 1  acc:  7593 /  8276 =  91.747
1, 0  acc:  2713 /  2874 =  94.398
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 18181 / 19867 =  91.514
Robust  acc:  7705 /  8535 =  90.275
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.885
Robust Acc: 90.000 | Best Acc: 93.508
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8942 /  9767 =  91.553
0, 1  acc:  6919 /  7535 =  91.825
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 18342 / 19962 =  91.885
Robust  acc:   162 /   180 =  90.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8942 /  9767 =  91.553
0, 1  acc:  6919 /  7535 =  91.825
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 18342 / 19962 =  91.885
Robust  acc:   162 /   180 =  90.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8942 /  9767 =  91.553
0, 1  acc:  6919 /  7535 =  91.825
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 18342 / 19962 =  91.885
Robust  acc:   162 /   180 =  90.000
------------------------------------
Epoch:  12 | Train Loss: 0.003 | Train Acc: 91.202 | Val Loss: 0.002 | Val Acc: 88.720
Training:
Accuracies by groups:
0, 0  acc: 64486 / 71629 =  90.028
0, 1  acc: 60936 / 66874 =  91.121
1, 0  acc: 21667 / 22880 =  94.698
1, 1  acc:  1360 /  1387 =  98.053
--------------------------------------
Average acc: 148449 / 162770 =  91.202
Robust  acc: 64486 / 71629 =  90.028
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7604 /  8535 =  89.092
0, 1  acc:  7154 /  8276 =  86.443
1, 0  acc:  2700 /  2874 =  93.946
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17626 / 19867 =  88.720
Robust  acc:  7154 /  8276 =  86.443
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.550
Robust Acc: 86.357 | Best Acc: 93.387
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8886 /  9767 =  90.980
0, 1  acc:  6507 /  7535 =  86.357
1, 0  acc:  2316 /  2480 =  93.387
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17876 / 19962 =  89.550
Robust  acc:  6507 /  7535 =  86.357
------------------------------------
Accuracies by groups:
0, 0  acc:  8886 /  9767 =  90.980
0, 1  acc:  6507 /  7535 =  86.357
1, 0  acc:  2316 /  2480 =  93.387
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17876 / 19962 =  89.550
Robust  acc:  6507 /  7535 =  86.357
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8886 /  9767 =  90.980
0, 1  acc:  6507 /  7535 =  86.357
1, 0  acc:  2316 /  2480 =  93.387
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17876 / 19962 =  89.550
Robust  acc:  6507 /  7535 =  86.357
------------------------------------
Epoch:  13 | Train Loss: 0.003 | Train Acc: 90.663 | Val Loss: 0.002 | Val Acc: 90.970
Training:
Accuracies by groups:
0, 0  acc: 64183 / 71629 =  89.605
0, 1  acc: 60383 / 66874 =  90.294
1, 0  acc: 21643 / 22880 =  94.594
1, 1  acc:  1363 /  1387 =  98.270
--------------------------------------
Average acc: 147572 / 162770 =  90.663
Robust  acc: 64183 / 71629 =  89.605
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7707 /  8535 =  90.299
0, 1  acc:  7525 /  8276 =  90.926
1, 0  acc:  2671 /  2874 =  92.937
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 18073 / 19867 =  90.970
Robust  acc:  7707 /  8535 =  90.299
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.504
Robust Acc: 89.444 | Best Acc: 92.540
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8980 /  9767 =  91.942
0, 1  acc:  6830 /  7535 =  90.644
1, 0  acc:  2295 /  2480 =  92.540
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 18266 / 19962 =  91.504
Robust  acc:   161 /   180 =  89.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8980 /  9767 =  91.942
0, 1  acc:  6830 /  7535 =  90.644
1, 0  acc:  2295 /  2480 =  92.540
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 18266 / 19962 =  91.504
Robust  acc:   161 /   180 =  89.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8980 /  9767 =  91.942
0, 1  acc:  6830 /  7535 =  90.644
1, 0  acc:  2295 /  2480 =  92.540
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 18266 / 19962 =  91.504
Robust  acc:   161 /   180 =  89.444
------------------------------------
Epoch:  14 | Train Loss: 0.003 | Train Acc: 90.391 | Val Loss: 0.002 | Val Acc: 87.688
Training:
Accuracies by groups:
0, 0  acc: 63925 / 71629 =  89.245
0, 1  acc: 60118 / 66874 =  89.897
1, 0  acc: 21727 / 22880 =  94.961
1, 1  acc:  1359 /  1387 =  97.981
--------------------------------------
Average acc: 147129 / 162770 =  90.391
Robust  acc: 63925 / 71629 =  89.245
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7153 /  8535 =  83.808
0, 1  acc:  7285 /  8276 =  88.026
1, 0  acc:  2812 /  2874 =  97.843
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17421 / 19867 =  87.688
Robust  acc:  7153 /  8535 =  83.808
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.819
Robust Acc: 86.915 | Best Acc: 97.056
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8489 /  9767 =  86.915
0, 1  acc:  6660 /  7535 =  88.388
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 17730 / 19962 =  88.819
Robust  acc:  8489 /  9767 =  86.915
------------------------------------
Accuracies by groups:
0, 0  acc:  8489 /  9767 =  86.915
0, 1  acc:  6660 /  7535 =  88.388
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 17730 / 19962 =  88.819
Robust  acc:  8489 /  9767 =  86.915
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8489 /  9767 =  86.915
0, 1  acc:  6660 /  7535 =  88.388
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 17730 / 19962 =  88.819
Robust  acc:  8489 /  9767 =  86.915
------------------------------------
Epoch:  15 | Train Loss: 0.003 | Train Acc: 89.953 | Val Loss: 0.002 | Val Acc: 89.968
Training:
Accuracies by groups:
0, 0  acc: 63666 / 71629 =  88.883
0, 1  acc: 59820 / 66874 =  89.452
1, 0  acc: 21586 / 22880 =  94.344
1, 1  acc:  1345 /  1387 =  96.972
--------------------------------------
Average acc: 146417 / 162770 =  89.953
Robust  acc: 63666 / 71629 =  88.883
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7499 /  8535 =  87.862
0, 1  acc:  7446 /  8276 =  89.971
1, 0  acc:  2755 /  2874 =  95.859
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 17874 / 19867 =  89.968
Robust  acc:  7499 /  8535 =  87.862
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.163
Robust Acc: 90.468 | Best Acc: 95.161
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8836 /  9767 =  90.468
0, 1  acc:  6831 /  7535 =  90.657
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 18198 / 19962 =  91.163
Robust  acc:  8836 /  9767 =  90.468
------------------------------------
Accuracies by groups:
0, 0  acc:  8836 /  9767 =  90.468
0, 1  acc:  6831 /  7535 =  90.657
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 18198 / 19962 =  91.163
Robust  acc:  8836 /  9767 =  90.468
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8836 /  9767 =  90.468
0, 1  acc:  6831 /  7535 =  90.657
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 18198 / 19962 =  91.163
Robust  acc:  8836 /  9767 =  90.468
------------------------------------
Epoch:  16 | Train Loss: 0.003 | Train Acc: 89.421 | Val Loss: 0.002 | Val Acc: 87.683
Training:
Accuracies by groups:
0, 0  acc: 63375 / 71629 =  88.477
0, 1  acc: 59280 / 66874 =  88.644
1, 0  acc: 21560 / 22880 =  94.231
1, 1  acc:  1335 /  1387 =  96.251
--------------------------------------
Average acc: 145550 / 162770 =  89.421
Robust  acc: 63375 / 71629 =  88.477
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7436 /  8535 =  87.124
0, 1  acc:  7077 /  8276 =  85.512
1, 0  acc:  2728 /  2874 =  94.920
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 17420 / 19867 =  87.683
Robust  acc:  7077 /  8276 =  85.512
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.468
Robust Acc: 85.056 | Best Acc: 96.667
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8747 /  9767 =  89.557
0, 1  acc:  6409 /  7535 =  85.056
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 17660 / 19962 =  88.468
Robust  acc:  6409 /  7535 =  85.056
------------------------------------
Accuracies by groups:
0, 0  acc:  8747 /  9767 =  89.557
0, 1  acc:  6409 /  7535 =  85.056
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 17660 / 19962 =  88.468
Robust  acc:  6409 /  7535 =  85.056
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8747 /  9767 =  89.557
0, 1  acc:  6409 /  7535 =  85.056
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 17660 / 19962 =  88.468
Robust  acc:  6409 /  7535 =  85.056
------------------------------------
Epoch:  17 | Train Loss: 0.003 | Train Acc: 89.476 | Val Loss: 0.003 | Val Acc: 79.046
Training:
Accuracies by groups:
0, 0  acc: 63319 / 71629 =  88.399
0, 1  acc: 59414 / 66874 =  88.845
1, 0  acc: 21567 / 22880 =  94.261
1, 1  acc:  1340 /  1387 =  96.611
--------------------------------------
Average acc: 145640 / 162770 =  89.476
Robust  acc: 63319 / 71629 =  88.399
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6454 /  8535 =  75.618
0, 1  acc:  6263 /  8276 =  75.677
1, 0  acc:  2811 /  2874 =  97.808
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 15704 / 19867 =  79.046
Robust  acc:  6454 /  8535 =  75.618
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 81.229
Robust Acc: 77.293 | Best Acc: 97.500
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  7801 /  9767 =  79.871
0, 1  acc:  5824 /  7535 =  77.293
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16215 / 19962 =  81.229
Robust  acc:  5824 /  7535 =  77.293
------------------------------------
Accuracies by groups:
0, 0  acc:  7801 /  9767 =  79.871
0, 1  acc:  5824 /  7535 =  77.293
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16215 / 19962 =  81.229
Robust  acc:  5824 /  7535 =  77.293
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7801 /  9767 =  79.871
0, 1  acc:  5824 /  7535 =  77.293
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16215 / 19962 =  81.229
Robust  acc:  5824 /  7535 =  77.293
------------------------------------
Epoch:  18 | Train Loss: 0.003 | Train Acc: 88.542 | Val Loss: 0.002 | Val Acc: 90.431
Training:
Accuracies by groups:
0, 0  acc: 62638 / 71629 =  87.448
0, 1  acc: 58609 / 66874 =  87.641
1, 0  acc: 21539 / 22880 =  94.139
1, 1  acc:  1334 /  1387 =  96.179
--------------------------------------
Average acc: 144120 / 162770 =  88.542
Robust  acc: 62638 / 71629 =  87.448
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7829 /  8535 =  91.728
0, 1  acc:  7406 /  8276 =  89.488
1, 0  acc:  2560 /  2874 =  89.074
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17966 / 19867 =  90.431
Robust  acc:  2560 /  2874 =  89.074
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.369
Robust Acc: 88.710 | Best Acc: 93.333
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  9082 /  9767 =  92.987
0, 1  acc:  6789 /  7535 =  90.100
1, 0  acc:  2200 /  2480 =  88.710
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 18239 / 19962 =  91.369
Robust  acc:  2200 /  2480 =  88.710
------------------------------------
Accuracies by groups:
0, 0  acc:  9082 /  9767 =  92.987
0, 1  acc:  6789 /  7535 =  90.100
1, 0  acc:  2200 /  2480 =  88.710
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 18239 / 19962 =  91.369
Robust  acc:  2200 /  2480 =  88.710
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9082 /  9767 =  92.987
0, 1  acc:  6789 /  7535 =  90.100
1, 0  acc:  2200 /  2480 =  88.710
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 18239 / 19962 =  91.369
Robust  acc:  2200 /  2480 =  88.710
------------------------------------
Epoch:  19 | Train Loss: 0.004 | Train Acc: 88.048 | Val Loss: 0.002 | Val Acc: 88.660
Training:
Accuracies by groups:
0, 0  acc: 62257 / 71629 =  86.916
0, 1  acc: 58225 / 66874 =  87.067
1, 0  acc: 21506 / 22880 =  93.995
1, 1  acc:  1327 /  1387 =  95.674
--------------------------------------
Average acc: 143315 / 162770 =  88.048
Robust  acc: 62257 / 71629 =  86.916
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7564 /  8535 =  88.623
0, 1  acc:  7225 /  8276 =  87.301
1, 0  acc:  2655 /  2874 =  92.380
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17614 / 19867 =  88.660
Robust  acc:  7225 /  8276 =  87.301
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.946
Robust Acc: 88.042 | Best Acc: 92.778
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  8874 /  9767 =  90.857
0, 1  acc:  6634 /  7535 =  88.042
1, 0  acc:  2280 /  2480 =  91.935
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17955 / 19962 =  89.946
Robust  acc:  6634 /  7535 =  88.042
------------------------------------
Accuracies by groups:
0, 0  acc:  8874 /  9767 =  90.857
0, 1  acc:  6634 /  7535 =  88.042
1, 0  acc:  2280 /  2480 =  91.935
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17955 / 19962 =  89.946
Robust  acc:  6634 /  7535 =  88.042
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8874 /  9767 =  90.857
0, 1  acc:  6634 /  7535 =  88.042
1, 0  acc:  2280 /  2480 =  91.935
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17955 / 19962 =  89.946
Robust  acc:  6634 /  7535 =  88.042
------------------------------------
Epoch:  20 | Train Loss: 0.004 | Train Acc: 87.532 | Val Loss: 0.003 | Val Acc: 87.104
Training:
Accuracies by groups:
0, 0  acc: 61877 / 71629 =  86.385
0, 1  acc: 57789 / 66874 =  86.415
1, 0  acc: 21489 / 22880 =  93.920
1, 1  acc:  1321 /  1387 =  95.242
--------------------------------------
Average acc: 142476 / 162770 =  87.532
Robust  acc: 61877 / 71629 =  86.385
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7239 /  8535 =  84.815
0, 1  acc:  7171 /  8276 =  86.648
1, 0  acc:  2723 /  2874 =  94.746
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17305 / 19867 =  87.104
Robust  acc:  7239 /  8535 =  84.815
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.102
Robust Acc: 86.357 | Best Acc: 94.153
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  8579 /  9767 =  87.837
0, 1  acc:  6507 /  7535 =  86.357
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17587 / 19962 =  88.102
Robust  acc:  6507 /  7535 =  86.357
------------------------------------
Accuracies by groups:
0, 0  acc:  8579 /  9767 =  87.837
0, 1  acc:  6507 /  7535 =  86.357
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17587 / 19962 =  88.102
Robust  acc:  6507 /  7535 =  86.357
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8579 /  9767 =  87.837
0, 1  acc:  6507 /  7535 =  86.357
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17587 / 19962 =  88.102
Robust  acc:  6507 /  7535 =  86.357
------------------------------------
Epoch:  21 | Train Loss: 0.004 | Train Acc: 87.041 | Val Loss: 0.002 | Val Acc: 88.856
Training:
Accuracies by groups:
0, 0  acc: 61352 / 71629 =  85.652
0, 1  acc: 57496 / 66874 =  85.977
1, 0  acc: 21516 / 22880 =  94.038
1, 1  acc:  1313 /  1387 =  94.665
--------------------------------------
Average acc: 141677 / 162770 =  87.041
Robust  acc: 61352 / 71629 =  85.652
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7399 /  8535 =  86.690
0, 1  acc:  7423 /  8276 =  89.693
1, 0  acc:  2664 /  2874 =  92.693
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17653 / 19867 =  88.856
Robust  acc:  7399 /  8535 =  86.690
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.226
Robust Acc: 89.536 | Best Acc: 92.540
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  8745 /  9767 =  89.536
0, 1  acc:  6806 /  7535 =  90.325
1, 0  acc:  2295 /  2480 =  92.540
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 18011 / 19962 =  90.226
Robust  acc:  8745 /  9767 =  89.536
------------------------------------
Accuracies by groups:
0, 0  acc:  8745 /  9767 =  89.536
0, 1  acc:  6806 /  7535 =  90.325
1, 0  acc:  2295 /  2480 =  92.540
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 18011 / 19962 =  90.226
Robust  acc:  8745 /  9767 =  89.536
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8745 /  9767 =  89.536
0, 1  acc:  6806 /  7535 =  90.325
1, 0  acc:  2295 /  2480 =  92.540
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 18011 / 19962 =  90.226
Robust  acc:  8745 /  9767 =  89.536
------------------------------------
Epoch:  22 | Train Loss: 0.004 | Train Acc: 87.007 | Val Loss: 0.003 | Val Acc: 87.920
Training:
Accuracies by groups:
0, 0  acc: 61540 / 71629 =  85.915
0, 1  acc: 57418 / 66874 =  85.860
1, 0  acc: 21349 / 22880 =  93.309
1, 1  acc:  1315 /  1387 =  94.809
--------------------------------------
Average acc: 141622 / 162770 =  87.007
Robust  acc: 57418 / 66874 =  85.860
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7262 /  8535 =  85.085
0, 1  acc:  7349 /  8276 =  88.799
1, 0  acc:  2686 /  2874 =  93.459
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17467 / 19867 =  87.920
Robust  acc:  7262 /  8535 =  85.085
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.139
Robust Acc: 87.980 | Best Acc: 92.419
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  8593 /  9767 =  87.980
0, 1  acc:  6745 /  7535 =  89.516
1, 0  acc:  2292 /  2480 =  92.419
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17794 / 19962 =  89.139
Robust  acc:  8593 /  9767 =  87.980
------------------------------------
Accuracies by groups:
0, 0  acc:  8593 /  9767 =  87.980
0, 1  acc:  6745 /  7535 =  89.516
1, 0  acc:  2292 /  2480 =  92.419
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17794 / 19962 =  89.139
Robust  acc:  8593 /  9767 =  87.980
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8593 /  9767 =  87.980
0, 1  acc:  6745 /  7535 =  89.516
1, 0  acc:  2292 /  2480 =  92.419
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17794 / 19962 =  89.139
Robust  acc:  8593 /  9767 =  87.980
------------------------------------
Epoch:  23 | Train Loss: 0.004 | Train Acc: 87.143 | Val Loss: 0.003 | Val Acc: 82.675
Training:
Accuracies by groups:
0, 0  acc: 61663 / 71629 =  86.087
0, 1  acc: 57618 / 66874 =  86.159
1, 0  acc: 21262 / 22880 =  92.928
1, 1  acc:  1299 /  1387 =  93.655
--------------------------------------
Average acc: 141842 / 162770 =  87.143
Robust  acc: 61663 / 71629 =  86.087
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6561 /  8535 =  76.872
0, 1  acc:  6967 /  8276 =  84.183
1, 0  acc:  2726 /  2874 =  94.850
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16425 / 19867 =  82.675
Robust  acc:  6561 /  8535 =  76.872
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.245
Robust Acc: 81.089 | Best Acc: 94.677
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  7920 /  9767 =  81.089
0, 1  acc:  6386 /  7535 =  84.751
1, 0  acc:  2348 /  2480 =  94.677
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16817 / 19962 =  84.245
Robust  acc:  7920 /  9767 =  81.089
------------------------------------
Accuracies by groups:
0, 0  acc:  7920 /  9767 =  81.089
0, 1  acc:  6386 /  7535 =  84.751
1, 0  acc:  2348 /  2480 =  94.677
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16817 / 19962 =  84.245
Robust  acc:  7920 /  9767 =  81.089
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7920 /  9767 =  81.089
0, 1  acc:  6386 /  7535 =  84.751
1, 0  acc:  2348 /  2480 =  94.677
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16817 / 19962 =  84.245
Robust  acc:  7920 /  9767 =  81.089
------------------------------------
Epoch:  24 | Train Loss: 0.004 | Train Acc: 85.887 | Val Loss: 0.003 | Val Acc: 79.927
Training:
Accuracies by groups:
0, 0  acc: 60975 / 71629 =  85.126
0, 1  acc: 56397 / 66874 =  84.333
1, 0  acc: 21124 / 22880 =  92.325
1, 1  acc:  1303 /  1387 =  93.944
--------------------------------------
Average acc: 139799 / 162770 =  85.887
Robust  acc: 56397 / 66874 =  84.333
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6773 /  8535 =  79.356
0, 1  acc:  6187 /  8276 =  74.758
1, 0  acc:  2743 /  2874 =  95.442
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 15879 / 19867 =  79.927
Robust  acc:  6187 /  8276 =  74.758
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 81.695
Robust Acc: 74.094 | Best Acc: 97.222
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  8187 /  9767 =  83.823
0, 1  acc:  5583 /  7535 =  74.094
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 16308 / 19962 =  81.695
Robust  acc:  5583 /  7535 =  74.094
------------------------------------
Accuracies by groups:
0, 0  acc:  8187 /  9767 =  83.823
0, 1  acc:  5583 /  7535 =  74.094
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 16308 / 19962 =  81.695
Robust  acc:  5583 /  7535 =  74.094
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8187 /  9767 =  83.823
0, 1  acc:  5583 /  7535 =  74.094
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 16308 / 19962 =  81.695
Robust  acc:  5583 /  7535 =  74.094
------------------------------------
Epoch:  25 | Train Loss: 0.004 | Train Acc: 86.584 | Val Loss: 0.003 | Val Acc: 80.656
Training:
Accuracies by groups:
0, 0  acc: 61359 / 71629 =  85.662
0, 1  acc: 57103 / 66874 =  85.389
1, 0  acc: 21169 / 22880 =  92.522
1, 1  acc:  1302 /  1387 =  93.872
--------------------------------------
Average acc: 140933 / 162770 =  86.584
Robust  acc: 57103 / 66874 =  85.389
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6544 /  8535 =  76.673
0, 1  acc:  6502 /  8276 =  78.565
1, 0  acc:  2801 /  2874 =  97.460
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16024 / 19867 =  80.656
Robust  acc:  6544 /  8535 =  76.673
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 82.437
Robust Acc: 79.058 | Best Acc: 97.097
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  7918 /  9767 =  81.069
0, 1  acc:  5957 /  7535 =  79.058
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16456 / 19962 =  82.437
Robust  acc:  5957 /  7535 =  79.058
------------------------------------
Accuracies by groups:
0, 0  acc:  7918 /  9767 =  81.069
0, 1  acc:  5957 /  7535 =  79.058
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16456 / 19962 =  82.437
Robust  acc:  5957 /  7535 =  79.058
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7918 /  9767 =  81.069
0, 1  acc:  5957 /  7535 =  79.058
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16456 / 19962 =  82.437
Robust  acc:  5957 /  7535 =  79.058
------------------------------------
Epoch:  26 | Train Loss: 0.004 | Train Acc: 86.772 | Val Loss: 0.003 | Val Acc: 83.304
Training:
Accuracies by groups:
0, 0  acc: 61519 / 71629 =  85.886
0, 1  acc: 57250 / 66874 =  85.609
1, 0  acc: 21161 / 22880 =  92.487
1, 1  acc:  1309 /  1387 =  94.376
--------------------------------------
Average acc: 141239 / 162770 =  86.772
Robust  acc: 57250 / 66874 =  85.609
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6768 /  8535 =  79.297
0, 1  acc:  6821 /  8276 =  82.419
1, 0  acc:  2785 /  2874 =  96.903
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16550 / 19867 =  83.304
Robust  acc:  6768 /  8535 =  79.297
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.257
Robust Acc: 83.251 | Best Acc: 96.774
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  8179 /  9767 =  83.741
0, 1  acc:  6273 /  7535 =  83.251
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17019 / 19962 =  85.257
Robust  acc:  6273 /  7535 =  83.251
------------------------------------
Accuracies by groups:
0, 0  acc:  8179 /  9767 =  83.741
0, 1  acc:  6273 /  7535 =  83.251
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17019 / 19962 =  85.257
Robust  acc:  6273 /  7535 =  83.251
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8179 /  9767 =  83.741
0, 1  acc:  6273 /  7535 =  83.251
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17019 / 19962 =  85.257
Robust  acc:  6273 /  7535 =  83.251
------------------------------------
Epoch:  27 | Train Loss: 0.004 | Train Acc: 86.588 | Val Loss: 0.002 | Val Acc: 89.923
Training:
Accuracies by groups:
0, 0  acc: 61463 / 71629 =  85.807
0, 1  acc: 57196 / 66874 =  85.528
1, 0  acc: 20971 / 22880 =  91.656
1, 1  acc:  1309 /  1387 =  94.376
--------------------------------------
Average acc: 140939 / 162770 =  86.588
Robust  acc: 57196 / 66874 =  85.528
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7664 /  8535 =  89.795
0, 1  acc:  7465 /  8276 =  90.201
1, 0  acc:  2577 /  2874 =  89.666
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 17865 / 19867 =  89.923
Robust  acc:   159 /   182 =  87.363
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.888
Robust Acc: 85.556 | Best Acc: 92.004
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  8986 /  9767 =  92.004
0, 1  acc:  6791 /  7535 =  90.126
1, 0  acc:  2212 /  2480 =  89.194
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18143 / 19962 =  90.888
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8986 /  9767 =  92.004
0, 1  acc:  6791 /  7535 =  90.126
1, 0  acc:  2212 /  2480 =  89.194
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18143 / 19962 =  90.888
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8986 /  9767 =  92.004
0, 1  acc:  6791 /  7535 =  90.126
1, 0  acc:  2212 /  2480 =  89.194
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18143 / 19962 =  90.888
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:  28 | Train Loss: 0.004 | Train Acc: 86.932 | Val Loss: 0.003 | Val Acc: 87.965
Training:
Accuracies by groups:
0, 0  acc: 61574 / 71629 =  85.962
0, 1  acc: 57641 / 66874 =  86.193
1, 0  acc: 20998 / 22880 =  91.774
1, 1  acc:  1286 /  1387 =  92.718
--------------------------------------
Average acc: 141499 / 162770 =  86.932
Robust  acc: 61574 / 71629 =  85.962
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7335 /  8535 =  85.940
0, 1  acc:  7339 /  8276 =  88.678
1, 0  acc:  2633 /  2874 =  91.614
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17476 / 19867 =  87.965
Robust  acc:  7335 /  8535 =  85.940
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.240
Robust Acc: 88.333 | Best Acc: 91.815
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  8681 /  9767 =  88.881
0, 1  acc:  6697 /  7535 =  88.879
1, 0  acc:  2277 /  2480 =  91.815
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17814 / 19962 =  89.240
Robust  acc:   159 /   180 =  88.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8681 /  9767 =  88.881
0, 1  acc:  6697 /  7535 =  88.879
1, 0  acc:  2277 /  2480 =  91.815
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17814 / 19962 =  89.240
Robust  acc:   159 /   180 =  88.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8681 /  9767 =  88.881
0, 1  acc:  6697 /  7535 =  88.879
1, 0  acc:  2277 /  2480 =  91.815
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17814 / 19962 =  89.240
Robust  acc:   159 /   180 =  88.333
------------------------------------
Epoch:  29 | Train Loss: 0.004 | Train Acc: 86.810 | Val Loss: 0.003 | Val Acc: 89.173
Training:
Accuracies by groups:
0, 0  acc: 61657 / 71629 =  86.078
0, 1  acc: 57311 / 66874 =  85.700
1, 0  acc: 21044 / 22880 =  91.976
1, 1  acc:  1288 /  1387 =  92.862
--------------------------------------
Average acc: 141300 / 162770 =  86.810
Robust  acc: 57311 / 66874 =  85.700
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7551 /  8535 =  88.471
0, 1  acc:  7484 /  8276 =  90.430
1, 0  acc:  2517 /  2874 =  87.578
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 17716 / 19867 =  89.173
Robust  acc:  2517 /  2874 =  87.578
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.477
Robust Acc: 85.000 | Best Acc: 91.241
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  8862 /  9767 =  90.734
0, 1  acc:  6875 /  7535 =  91.241
1, 0  acc:  2171 /  2480 =  87.540
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18061 / 19962 =  90.477
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8862 /  9767 =  90.734
0, 1  acc:  6875 /  7535 =  91.241
1, 0  acc:  2171 /  2480 =  87.540
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18061 / 19962 =  90.477
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8862 /  9767 =  90.734
0, 1  acc:  6875 /  7535 =  91.241
1, 0  acc:  2171 /  2480 =  87.540
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18061 / 19962 =  90.477
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:  30 | Train Loss: 0.004 | Train Acc: 87.132 | Val Loss: 0.002 | Val Acc: 91.655
Training:
Accuracies by groups:
0, 0  acc: 61816 / 71629 =  86.300
0, 1  acc: 57823 / 66874 =  86.466
1, 0  acc: 20902 / 22880 =  91.355
1, 1  acc:  1284 /  1387 =  92.574
--------------------------------------
Average acc: 141825 / 162770 =  87.132
Robust  acc: 61816 / 71629 =  86.300
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7980 /  8535 =  93.497
0, 1  acc:  7818 /  8276 =  94.466
1, 0  acc:  2274 /  2874 =  79.123
1, 1  acc:   137 /   182 =  75.275
------------------------------------
Average acc: 18209 / 19867 =  91.655
Robust  acc:   137 /   182 =  75.275
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.586
Robust Acc: 70.556 | Best Acc: 94.727
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  9252 /  9767 =  94.727
0, 1  acc:  7135 /  7535 =  94.691
1, 0  acc:  1968 /  2480 =  79.355
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18482 / 19962 =  92.586
Robust  acc:   127 /   180 =  70.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9252 /  9767 =  94.727
0, 1  acc:  7135 /  7535 =  94.691
1, 0  acc:  1968 /  2480 =  79.355
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18482 / 19962 =  92.586
Robust  acc:   127 /   180 =  70.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9252 /  9767 =  94.727
0, 1  acc:  7135 /  7535 =  94.691
1, 0  acc:  1968 /  2480 =  79.355
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18482 / 19962 =  92.586
Robust  acc:   127 /   180 =  70.556
------------------------------------
Epoch:  31 | Train Loss: 0.004 | Train Acc: 86.590 | Val Loss: 0.003 | Val Acc: 87.809
Training:
Accuracies by groups:
0, 0  acc: 61519 / 71629 =  85.886
0, 1  acc: 57230 / 66874 =  85.579
1, 0  acc: 20904 / 22880 =  91.364
1, 1  acc:  1289 /  1387 =  92.934
--------------------------------------
Average acc: 140942 / 162770 =  86.590
Robust  acc: 57230 / 66874 =  85.579
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7359 /  8535 =  86.221
0, 1  acc:  7265 /  8276 =  87.784
1, 0  acc:  2649 /  2874 =  92.171
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17445 / 19867 =  87.809
Robust  acc:  7359 /  8535 =  86.221
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.954
Robust Acc: 88.003 | Best Acc: 91.532
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  8692 /  9767 =  88.994
0, 1  acc:  6631 /  7535 =  88.003
1, 0  acc:  2270 /  2480 =  91.532
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17757 / 19962 =  88.954
Robust  acc:  6631 /  7535 =  88.003
------------------------------------
Accuracies by groups:
0, 0  acc:  8692 /  9767 =  88.994
0, 1  acc:  6631 /  7535 =  88.003
1, 0  acc:  2270 /  2480 =  91.532
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17757 / 19962 =  88.954
Robust  acc:  6631 /  7535 =  88.003
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8692 /  9767 =  88.994
0, 1  acc:  6631 /  7535 =  88.003
1, 0  acc:  2270 /  2480 =  91.532
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17757 / 19962 =  88.954
Robust  acc:  6631 /  7535 =  88.003
------------------------------------
Epoch:  32 | Train Loss: 0.004 | Train Acc: 86.655 | Val Loss: 0.003 | Val Acc: 83.817
Training:
Accuracies by groups:
0, 0  acc: 61459 / 71629 =  85.802
0, 1  acc: 57436 / 66874 =  85.887
1, 0  acc: 20864 / 22880 =  91.189
1, 1  acc:  1290 /  1387 =  93.006
--------------------------------------
Average acc: 141049 / 162770 =  86.655
Robust  acc: 61459 / 71629 =  85.802
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6911 /  8535 =  80.972
0, 1  acc:  6896 /  8276 =  83.325
1, 0  acc:  2677 /  2874 =  93.145
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 16652 / 19867 =  83.817
Robust  acc:  6911 /  8535 =  80.972
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.467
Robust Acc: 83.822 | Best Acc: 94.444
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  8273 /  9767 =  84.704
0, 1  acc:  6316 /  7535 =  83.822
1, 0  acc:  2302 /  2480 =  92.823
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 17061 / 19962 =  85.467
Robust  acc:  6316 /  7535 =  83.822
------------------------------------
Accuracies by groups:
0, 0  acc:  8273 /  9767 =  84.704
0, 1  acc:  6316 /  7535 =  83.822
1, 0  acc:  2302 /  2480 =  92.823
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 17061 / 19962 =  85.467
Robust  acc:  6316 /  7535 =  83.822
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8273 /  9767 =  84.704
0, 1  acc:  6316 /  7535 =  83.822
1, 0  acc:  2302 /  2480 =  92.823
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 17061 / 19962 =  85.467
Robust  acc:  6316 /  7535 =  83.822
------------------------------------
Epoch:  33 | Train Loss: 0.004 | Train Acc: 86.276 | Val Loss: 0.003 | Val Acc: 84.663
Training:
Accuracies by groups:
0, 0  acc: 61156 / 71629 =  85.379
0, 1  acc: 56939 / 66874 =  85.144
1, 0  acc: 21037 / 22880 =  91.945
1, 1  acc:  1299 /  1387 =  93.655
--------------------------------------
Average acc: 140431 / 162770 =  86.276
Robust  acc: 56939 / 66874 =  85.144
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7035 /  8535 =  82.425
0, 1  acc:  6943 /  8276 =  83.893
1, 0  acc:  2669 /  2874 =  92.867
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16820 / 19867 =  84.663
Robust  acc:  7035 /  8535 =  82.425
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.978
Robust Acc: 83.862 | Best Acc: 92.782
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  8378 /  9767 =  85.779
0, 1  acc:  6319 /  7535 =  83.862
1, 0  acc:  2301 /  2480 =  92.782
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17163 / 19962 =  85.978
Robust  acc:  6319 /  7535 =  83.862
------------------------------------
Accuracies by groups:
0, 0  acc:  8378 /  9767 =  85.779
0, 1  acc:  6319 /  7535 =  83.862
1, 0  acc:  2301 /  2480 =  92.782
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17163 / 19962 =  85.978
Robust  acc:  6319 /  7535 =  83.862
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8378 /  9767 =  85.779
0, 1  acc:  6319 /  7535 =  83.862
1, 0  acc:  2301 /  2480 =  92.782
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17163 / 19962 =  85.978
Robust  acc:  6319 /  7535 =  83.862
------------------------------------
Epoch:  34 | Train Loss: 0.004 | Train Acc: 86.491 | Val Loss: 0.003 | Val Acc: 90.029
Training:
Accuracies by groups:
0, 0  acc: 61499 / 71629 =  85.858
0, 1  acc: 57146 / 66874 =  85.453
1, 0  acc: 20841 / 22880 =  91.088
1, 1  acc:  1295 /  1387 =  93.367
--------------------------------------
Average acc: 140781 / 162770 =  86.491
Robust  acc: 57146 / 66874 =  85.453
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8244 /  8535 =  96.591
0, 1  acc:  7930 /  8276 =  95.819
1, 0  acc:  1593 /  2874 =  55.428
1, 1  acc:   119 /   182 =  65.385
------------------------------------
Average acc: 17886 / 19867 =  90.029
Robust  acc:  1593 /  2874 =  55.428
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.948
Robust Acc: 53.333 | Best Acc: 96.847
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  9459 /  9767 =  96.847
0, 1  acc:  7219 /  7535 =  95.806
1, 0  acc:  1381 /  2480 =  55.685
1, 1  acc:    96 /   180 =  53.333
------------------------------------
Average acc: 18155 / 19962 =  90.948
Robust  acc:    96 /   180 =  53.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9459 /  9767 =  96.847
0, 1  acc:  7219 /  7535 =  95.806
1, 0  acc:  1381 /  2480 =  55.685
1, 1  acc:    96 /   180 =  53.333
------------------------------------
Average acc: 18155 / 19962 =  90.948
Robust  acc:    96 /   180 =  53.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9459 /  9767 =  96.847
0, 1  acc:  7219 /  7535 =  95.806
1, 0  acc:  1381 /  2480 =  55.685
1, 1  acc:    96 /   180 =  53.333
------------------------------------
Average acc: 18155 / 19962 =  90.948
Robust  acc:    96 /   180 =  53.333
------------------------------------
Epoch:  35 | Train Loss: 0.004 | Train Acc: 86.669 | Val Loss: 0.003 | Val Acc: 82.982
Training:
Accuracies by groups:
0, 0  acc: 61784 / 71629 =  86.256
0, 1  acc: 57169 / 66874 =  85.488
1, 0  acc: 20831 / 22880 =  91.045
1, 1  acc:  1287 /  1387 =  92.790
--------------------------------------
Average acc: 141071 / 162770 =  86.669
Robust  acc: 57169 / 66874 =  85.488
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6672 /  8535 =  78.172
0, 1  acc:  6932 /  8276 =  83.760
1, 0  acc:  2713 /  2874 =  94.398
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 16486 / 19867 =  82.982
Robust  acc:  6672 /  8535 =  78.172
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.270
Robust Acc: 81.775 | Best Acc: 94.758
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  7987 /  9767 =  81.775
0, 1  acc:  6317 /  7535 =  83.835
1, 0  acc:  2350 /  2480 =  94.758
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16822 / 19962 =  84.270
Robust  acc:  7987 /  9767 =  81.775
------------------------------------
Accuracies by groups:
0, 0  acc:  7987 /  9767 =  81.775
0, 1  acc:  6317 /  7535 =  83.835
1, 0  acc:  2350 /  2480 =  94.758
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16822 / 19962 =  84.270
Robust  acc:  7987 /  9767 =  81.775
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7987 /  9767 =  81.775
0, 1  acc:  6317 /  7535 =  83.835
1, 0  acc:  2350 /  2480 =  94.758
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16822 / 19962 =  84.270
Robust  acc:  7987 /  9767 =  81.775
------------------------------------
Epoch:  36 | Train Loss: 0.004 | Train Acc: 86.549 | Val Loss: 0.003 | Val Acc: 89.727
Training:
Accuracies by groups:
0, 0  acc: 61552 / 71629 =  85.932
0, 1  acc: 57235 / 66874 =  85.586
1, 0  acc: 20803 / 22880 =  90.922
1, 1  acc:  1285 /  1387 =  92.646
--------------------------------------
Average acc: 140875 / 162770 =  86.549
Robust  acc: 57235 / 66874 =  85.586
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7699 /  8535 =  90.205
0, 1  acc:  7525 /  8276 =  90.926
1, 0  acc:  2445 /  2874 =  85.073
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 17826 / 19867 =  89.727
Robust  acc:  2445 /  2874 =  85.073
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.043
Robust Acc: 81.111 | Best Acc: 92.598
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  9044 /  9767 =  92.598
0, 1  acc:  6880 /  7535 =  91.307
1, 0  acc:  2104 /  2480 =  84.839
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18174 / 19962 =  91.043
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9044 /  9767 =  92.598
0, 1  acc:  6880 /  7535 =  91.307
1, 0  acc:  2104 /  2480 =  84.839
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18174 / 19962 =  91.043
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9044 /  9767 =  92.598
0, 1  acc:  6880 /  7535 =  91.307
1, 0  acc:  2104 /  2480 =  84.839
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18174 / 19962 =  91.043
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:  37 | Train Loss: 0.004 | Train Acc: 86.754 | Val Loss: 0.003 | Val Acc: 90.210
Training:
Accuracies by groups:
0, 0  acc: 61715 / 71629 =  86.159
0, 1  acc: 57274 / 66874 =  85.645
1, 0  acc: 20931 / 22880 =  91.482
1, 1  acc:  1290 /  1387 =  93.006
--------------------------------------
Average acc: 141210 / 162770 =  86.754
Robust  acc: 57274 / 66874 =  85.645
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8099 /  8535 =  94.892
0, 1  acc:  7767 /  8276 =  93.850
1, 0  acc:  1914 /  2874 =  66.597
1, 1  acc:   142 /   182 =  78.022
------------------------------------
Average acc: 17922 / 19867 =  90.210
Robust  acc:  1914 /  2874 =  66.597
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.998
Robust Acc: 66.815 | Best Acc: 95.597
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  9337 /  9767 =  95.597
0, 1  acc:  7045 /  7535 =  93.497
1, 0  acc:  1657 /  2480 =  66.815
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18165 / 19962 =  90.998
Robust  acc:  1657 /  2480 =  66.815
------------------------------------
Accuracies by groups:
0, 0  acc:  9337 /  9767 =  95.597
0, 1  acc:  7045 /  7535 =  93.497
1, 0  acc:  1657 /  2480 =  66.815
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18165 / 19962 =  90.998
Robust  acc:  1657 /  2480 =  66.815
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9337 /  9767 =  95.597
0, 1  acc:  7045 /  7535 =  93.497
1, 0  acc:  1657 /  2480 =  66.815
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18165 / 19962 =  90.998
Robust  acc:  1657 /  2480 =  66.815
------------------------------------
Epoch:  38 | Train Loss: 0.004 | Train Acc: 86.816 | Val Loss: 0.004 | Val Acc: 80.359
Training:
Accuracies by groups:
0, 0  acc: 61967 / 71629 =  86.511
0, 1  acc: 57323 / 66874 =  85.718
1, 0  acc: 20726 / 22880 =  90.586
1, 1  acc:  1294 /  1387 =  93.295
--------------------------------------
Average acc: 141310 / 162770 =  86.816
Robust  acc: 57323 / 66874 =  85.718
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6582 /  8535 =  77.118
0, 1  acc:  6428 /  8276 =  77.670
1, 0  acc:  2781 /  2874 =  96.764
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 15965 / 19867 =  80.359
Robust  acc:  6582 /  8535 =  77.118
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.820
Robust Acc: 77.293 | Best Acc: 97.298
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  7932 /  9767 =  81.212
0, 1  acc:  5824 /  7535 =  77.293
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16333 / 19962 =  81.820
Robust  acc:  5824 /  7535 =  77.293
------------------------------------
Accuracies by groups:
0, 0  acc:  7932 /  9767 =  81.212
0, 1  acc:  5824 /  7535 =  77.293
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16333 / 19962 =  81.820
Robust  acc:  5824 /  7535 =  77.293
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7932 /  9767 =  81.212
0, 1  acc:  5824 /  7535 =  77.293
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16333 / 19962 =  81.820
Robust  acc:  5824 /  7535 =  77.293
------------------------------------
Epoch:  39 | Train Loss: 0.004 | Train Acc: 86.859 | Val Loss: 0.003 | Val Acc: 83.425
Training:
Accuracies by groups:
0, 0  acc: 61917 / 71629 =  86.441
0, 1  acc: 57407 / 66874 =  85.844
1, 0  acc: 20759 / 22880 =  90.730
1, 1  acc:  1297 /  1387 =  93.511
--------------------------------------
Average acc: 141380 / 162770 =  86.859
Robust  acc: 57407 / 66874 =  85.844
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6901 /  8535 =  80.855
0, 1  acc:  6839 /  8276 =  82.637
1, 0  acc:  2662 /  2874 =  92.624
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16574 / 19867 =  83.425
Robust  acc:  6901 /  8535 =  80.855
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.801
Robust Acc: 82.575 | Best Acc: 93.889
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  8223 /  9767 =  84.192
0, 1  acc:  6222 /  7535 =  82.575
1, 0  acc:  2314 /  2480 =  93.306
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16928 / 19962 =  84.801
Robust  acc:  6222 /  7535 =  82.575
------------------------------------
Accuracies by groups:
0, 0  acc:  8223 /  9767 =  84.192
0, 1  acc:  6222 /  7535 =  82.575
1, 0  acc:  2314 /  2480 =  93.306
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16928 / 19962 =  84.801
Robust  acc:  6222 /  7535 =  82.575
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8223 /  9767 =  84.192
0, 1  acc:  6222 /  7535 =  82.575
1, 0  acc:  2314 /  2480 =  93.306
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16928 / 19962 =  84.801
Robust  acc:  6222 /  7535 =  82.575
------------------------------------
Epoch:  40 | Train Loss: 0.004 | Train Acc: 86.498 | Val Loss: 0.003 | Val Acc: 83.536
Training:
Accuracies by groups:
0, 0  acc: 61468 / 71629 =  85.814
0, 1  acc: 57181 / 66874 =  85.506
1, 0  acc: 20853 / 22880 =  91.141
1, 1  acc:  1290 /  1387 =  93.006
--------------------------------------
Average acc: 140792 / 162770 =  86.498
Robust  acc: 57181 / 66874 =  85.506
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6696 /  8535 =  78.453
0, 1  acc:  7050 /  8276 =  85.186
1, 0  acc:  2685 /  2874 =  93.424
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 16596 / 19867 =  83.536
Robust  acc:  6696 /  8535 =  78.453
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.961
Robust Acc: 81.499 | Best Acc: 93.790
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  7960 /  9767 =  81.499
0, 1  acc:  6514 /  7535 =  86.450
1, 0  acc:  2326 /  2480 =  93.790
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 16960 / 19962 =  84.961
Robust  acc:  7960 /  9767 =  81.499
------------------------------------
Accuracies by groups:
0, 0  acc:  7960 /  9767 =  81.499
0, 1  acc:  6514 /  7535 =  86.450
1, 0  acc:  2326 /  2480 =  93.790
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 16960 / 19962 =  84.961
Robust  acc:  7960 /  9767 =  81.499
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7960 /  9767 =  81.499
0, 1  acc:  6514 /  7535 =  86.450
1, 0  acc:  2326 /  2480 =  93.790
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 16960 / 19962 =  84.961
Robust  acc:  7960 /  9767 =  81.499
------------------------------------
Epoch:  41 | Train Loss: 0.004 | Train Acc: 87.122 | Val Loss: 0.003 | Val Acc: 87.275
Training:
Accuracies by groups:
0, 0  acc: 62025 / 71629 =  86.592
0, 1  acc: 57670 / 66874 =  86.237
1, 0  acc: 20806 / 22880 =  90.935
1, 1  acc:  1308 /  1387 =  94.304
--------------------------------------
Average acc: 141809 / 162770 =  87.122
Robust  acc: 57670 / 66874 =  86.237
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7334 /  8535 =  85.929
0, 1  acc:  7284 /  8276 =  88.014
1, 0  acc:  2550 /  2874 =  88.727
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17339 / 19867 =  87.275
Robust  acc:  7334 /  8535 =  85.929
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.368
Robust Acc: 87.621 | Best Acc: 90.000
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  8640 /  9767 =  88.461
0, 1  acc:  6665 /  7535 =  88.454
1, 0  acc:  2173 /  2480 =  87.621
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17640 / 19962 =  88.368
Robust  acc:  2173 /  2480 =  87.621
------------------------------------
Accuracies by groups:
0, 0  acc:  8640 /  9767 =  88.461
0, 1  acc:  6665 /  7535 =  88.454
1, 0  acc:  2173 /  2480 =  87.621
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17640 / 19962 =  88.368
Robust  acc:  2173 /  2480 =  87.621
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8640 /  9767 =  88.461
0, 1  acc:  6665 /  7535 =  88.454
1, 0  acc:  2173 /  2480 =  87.621
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17640 / 19962 =  88.368
Robust  acc:  2173 /  2480 =  87.621
------------------------------------
Epoch:  42 | Train Loss: 0.004 | Train Acc: 86.793 | Val Loss: 0.003 | Val Acc: 86.999
Training:
Accuracies by groups:
0, 0  acc: 61786 / 71629 =  86.258
0, 1  acc: 57348 / 66874 =  85.755
1, 0  acc: 20859 / 22880 =  91.167
1, 1  acc:  1280 /  1387 =  92.286
--------------------------------------
Average acc: 141273 / 162770 =  86.793
Robust  acc: 57348 / 66874 =  85.755
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7269 /  8535 =  85.167
0, 1  acc:  7219 /  8276 =  87.228
1, 0  acc:  2631 /  2874 =  91.545
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17284 / 19867 =  86.999
Robust  acc:  7269 /  8535 =  85.167
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.378
Robust Acc: 87.778 | Best Acc: 91.855
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  8588 /  9767 =  87.929
0, 1  acc:  6618 /  7535 =  87.830
1, 0  acc:  2278 /  2480 =  91.855
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17642 / 19962 =  88.378
Robust  acc:   158 /   180 =  87.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8588 /  9767 =  87.929
0, 1  acc:  6618 /  7535 =  87.830
1, 0  acc:  2278 /  2480 =  91.855
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17642 / 19962 =  88.378
Robust  acc:   158 /   180 =  87.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8588 /  9767 =  87.929
0, 1  acc:  6618 /  7535 =  87.830
1, 0  acc:  2278 /  2480 =  91.855
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17642 / 19962 =  88.378
Robust  acc:   158 /   180 =  87.778
------------------------------------
Epoch:  43 | Train Loss: 0.004 | Train Acc: 86.504 | Val Loss: 0.003 | Val Acc: 88.982
Training:
Accuracies by groups:
0, 0  acc: 61668 / 71629 =  86.094
0, 1  acc: 57115 / 66874 =  85.407
1, 0  acc: 20732 / 22880 =  90.612
1, 1  acc:  1288 /  1387 =  92.862
--------------------------------------
Average acc: 140803 / 162770 =  86.504
Robust  acc: 57115 / 66874 =  85.407
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7430 /  8535 =  87.053
0, 1  acc:  7485 /  8276 =  90.442
1, 0  acc:  2600 /  2874 =  90.466
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17678 / 19867 =  88.982
Robust  acc:  7430 /  8535 =  87.053
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.246
Robust Acc: 87.778 | Best Acc: 90.949
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  8765 /  9767 =  89.741
0, 1  acc:  6853 /  7535 =  90.949
1, 0  acc:  2239 /  2480 =  90.282
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 18015 / 19962 =  90.246
Robust  acc:   158 /   180 =  87.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8765 /  9767 =  89.741
0, 1  acc:  6853 /  7535 =  90.949
1, 0  acc:  2239 /  2480 =  90.282
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 18015 / 19962 =  90.246
Robust  acc:   158 /   180 =  87.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8765 /  9767 =  89.741
0, 1  acc:  6853 /  7535 =  90.949
1, 0  acc:  2239 /  2480 =  90.282
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 18015 / 19962 =  90.246
Robust  acc:   158 /   180 =  87.778
------------------------------------
Epoch:  44 | Train Loss: 0.004 | Train Acc: 86.711 | Val Loss: 0.004 | Val Acc: 80.415
Training:
Accuracies by groups:
0, 0  acc: 61738 / 71629 =  86.191
0, 1  acc: 57282 / 66874 =  85.657
1, 0  acc: 20830 / 22880 =  91.040
1, 1  acc:  1289 /  1387 =  92.934
--------------------------------------
Average acc: 141139 / 162770 =  86.711
Robust  acc: 57282 / 66874 =  85.657
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6610 /  8535 =  77.446
0, 1  acc:  6455 /  8276 =  77.997
1, 0  acc:  2743 /  2874 =  95.442
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 15976 / 19867 =  80.415
Robust  acc:  6610 /  8535 =  77.446
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 82.166
Robust Acc: 78.633 | Best Acc: 93.992
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  7984 /  9767 =  81.745
0, 1  acc:  5925 /  7535 =  78.633
1, 0  acc:  2331 /  2480 =  93.992
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16402 / 19962 =  82.166
Robust  acc:  5925 /  7535 =  78.633
------------------------------------
Accuracies by groups:
0, 0  acc:  7984 /  9767 =  81.745
0, 1  acc:  5925 /  7535 =  78.633
1, 0  acc:  2331 /  2480 =  93.992
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16402 / 19962 =  82.166
Robust  acc:  5925 /  7535 =  78.633
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7984 /  9767 =  81.745
0, 1  acc:  5925 /  7535 =  78.633
1, 0  acc:  2331 /  2480 =  93.992
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16402 / 19962 =  82.166
Robust  acc:  5925 /  7535 =  78.633
------------------------------------
Epoch:  45 | Train Loss: 0.004 | Train Acc: 86.442 | Val Loss: 0.003 | Val Acc: 88.584
Training:
Accuracies by groups:
0, 0  acc: 61566 / 71629 =  85.951
0, 1  acc: 57079 / 66874 =  85.353
1, 0  acc: 20770 / 22880 =  90.778
1, 1  acc:  1287 /  1387 =  92.790
--------------------------------------
Average acc: 140702 / 162770 =  86.442
Robust  acc: 57079 / 66874 =  85.353
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7496 /  8535 =  87.827
0, 1  acc:  7682 /  8276 =  92.823
1, 0  acc:  2277 /  2874 =  79.228
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 17599 / 19867 =  88.584
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.695
Robust Acc: 79.444 | Best Acc: 92.741
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  8800 /  9767 =  90.099
0, 1  acc:  6988 /  7535 =  92.741
1, 0  acc:  1974 /  2480 =  79.597
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 17905 / 19962 =  89.695
Robust  acc:   143 /   180 =  79.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8800 /  9767 =  90.099
0, 1  acc:  6988 /  7535 =  92.741
1, 0  acc:  1974 /  2480 =  79.597
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 17905 / 19962 =  89.695
Robust  acc:   143 /   180 =  79.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8800 /  9767 =  90.099
0, 1  acc:  6988 /  7535 =  92.741
1, 0  acc:  1974 /  2480 =  79.597
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 17905 / 19962 =  89.695
Robust  acc:   143 /   180 =  79.444
------------------------------------
Epoch:  46 | Train Loss: 0.004 | Train Acc: 86.653 | Val Loss: 0.006 | Val Acc: 54.170
Training:
Accuracies by groups:
0, 0  acc: 61664 / 71629 =  86.088
0, 1  acc: 57304 / 66874 =  85.690
1, 0  acc: 20786 / 22880 =  90.848
1, 1  acc:  1291 /  1387 =  93.079
--------------------------------------
Average acc: 141045 / 162770 =  86.653
Robust  acc: 57304 / 66874 =  85.690
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4134 /  8535 =  48.436
0, 1  acc:  3586 /  8276 =  43.330
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 10762 / 19867 =  54.170
Robust  acc:  3586 /  8276 =  43.330
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 56.512
Robust Acc: 43.504 | Best Acc: 99.435
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  5359 /  9767 =  54.868
0, 1  acc:  3278 /  7535 =  43.504
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11281 / 19962 =  56.512
Robust  acc:  3278 /  7535 =  43.504
------------------------------------
Accuracies by groups:
0, 0  acc:  5359 /  9767 =  54.868
0, 1  acc:  3278 /  7535 =  43.504
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11281 / 19962 =  56.512
Robust  acc:  3278 /  7535 =  43.504
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5359 /  9767 =  54.868
0, 1  acc:  3278 /  7535 =  43.504
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11281 / 19962 =  56.512
Robust  acc:  3278 /  7535 =  43.504
------------------------------------
Epoch:  47 | Train Loss: 0.004 | Train Acc: 86.826 | Val Loss: 0.003 | Val Acc: 88.312
Training:
Accuracies by groups:
0, 0  acc: 61761 / 71629 =  86.223
0, 1  acc: 57464 / 66874 =  85.929
1, 0  acc: 20813 / 22880 =  90.966
1, 1  acc:  1288 /  1387 =  92.862
--------------------------------------
Average acc: 141326 / 162770 =  86.826
Robust  acc: 57464 / 66874 =  85.929
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7508 /  8535 =  87.967
0, 1  acc:  7315 /  8276 =  88.388
1, 0  acc:  2557 /  2874 =  88.970
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17545 / 19867 =  88.312
Robust  acc:  7508 /  8535 =  87.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.520
Robust Acc: 87.621 | Best Acc: 90.069
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  8797 /  9767 =  90.069
0, 1  acc:  6742 /  7535 =  89.476
1, 0  acc:  2173 /  2480 =  87.621
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17870 / 19962 =  89.520
Robust  acc:  2173 /  2480 =  87.621
------------------------------------
Accuracies by groups:
0, 0  acc:  8797 /  9767 =  90.069
0, 1  acc:  6742 /  7535 =  89.476
1, 0  acc:  2173 /  2480 =  87.621
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17870 / 19962 =  89.520
Robust  acc:  2173 /  2480 =  87.621
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8797 /  9767 =  90.069
0, 1  acc:  6742 /  7535 =  89.476
1, 0  acc:  2173 /  2480 =  87.621
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17870 / 19962 =  89.520
Robust  acc:  2173 /  2480 =  87.621
------------------------------------
Epoch:  48 | Train Loss: 0.004 | Train Acc: 86.408 | Val Loss: 0.005 | Val Acc: 71.465
Training:
Accuracies by groups:
0, 0  acc: 61408 / 71629 =  85.731
0, 1  acc: 57164 / 66874 =  85.480
1, 0  acc: 20772 / 22880 =  90.787
1, 1  acc:  1303 /  1387 =  93.944
--------------------------------------
Average acc: 140647 / 162770 =  86.408
Robust  acc: 57164 / 66874 =  85.480
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5607 /  8535 =  65.694
0, 1  acc:  5582 /  8276 =  67.448
1, 0  acc:  2830 /  2874 =  98.469
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14198 / 19867 =  71.465
Robust  acc:  5607 /  8535 =  65.694
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.788
Robust Acc: 67.498 | Best Acc: 98.145
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  6835 /  9767 =  69.981
0, 1  acc:  5086 /  7535 =  67.498
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14530 / 19962 =  72.788
Robust  acc:  5086 /  7535 =  67.498
------------------------------------
Accuracies by groups:
0, 0  acc:  6835 /  9767 =  69.981
0, 1  acc:  5086 /  7535 =  67.498
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14530 / 19962 =  72.788
Robust  acc:  5086 /  7535 =  67.498
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6835 /  9767 =  69.981
0, 1  acc:  5086 /  7535 =  67.498
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14530 / 19962 =  72.788
Robust  acc:  5086 /  7535 =  67.498
------------------------------------
Epoch:  49 | Train Loss: 0.004 | Train Acc: 86.678 | Val Loss: 0.003 | Val Acc: 89.545
Training:
Accuracies by groups:
0, 0  acc: 61753 / 71629 =  86.212
0, 1  acc: 57296 / 66874 =  85.678
1, 0  acc: 20731 / 22880 =  90.608
1, 1  acc:  1306 /  1387 =  94.160
--------------------------------------
Average acc: 141086 / 162770 =  86.678
Robust  acc: 57296 / 66874 =  85.678
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7714 /  8535 =  90.381
0, 1  acc:  7480 /  8276 =  90.382
1, 0  acc:  2431 /  2874 =  84.586
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17790 / 19867 =  89.545
Robust  acc:  2431 /  2874 =  84.586
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.712
Robust Acc: 84.677 | Best Acc: 92.372
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  9022 /  9767 =  92.372
0, 1  acc:  6833 /  7535 =  90.683
1, 0  acc:  2100 /  2480 =  84.677
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18108 / 19962 =  90.712
Robust  acc:  2100 /  2480 =  84.677
------------------------------------
Accuracies by groups:
0, 0  acc:  9022 /  9767 =  92.372
0, 1  acc:  6833 /  7535 =  90.683
1, 0  acc:  2100 /  2480 =  84.677
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18108 / 19962 =  90.712
Robust  acc:  2100 /  2480 =  84.677
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9022 /  9767 =  92.372
0, 1  acc:  6833 /  7535 =  90.683
1, 0  acc:  2100 /  2480 =  84.677
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18108 / 19962 =  90.712
Robust  acc:  2100 /  2480 =  84.677
------------------------------------
Epoch:  50 | Train Loss: 0.004 | Train Acc: 86.690 | Val Loss: 0.003 | Val Acc: 87.406
Training:
Accuracies by groups:
0, 0  acc: 61712 / 71629 =  86.155
0, 1  acc: 57325 / 66874 =  85.721
1, 0  acc: 20777 / 22880 =  90.809
1, 1  acc:  1291 /  1387 =  93.079
--------------------------------------
Average acc: 141105 / 162770 =  86.690
Robust  acc: 57325 / 66874 =  85.721
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7279 /  8535 =  85.284
0, 1  acc:  7338 /  8276 =  88.666
1, 0  acc:  2584 /  2874 =  89.910
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 17365 / 19867 =  87.406
Robust  acc:  7279 /  8535 =  85.284
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.829
Robust Acc: 88.318 | Best Acc: 90.121
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  8626 /  9767 =  88.318
0, 1  acc:  6711 /  7535 =  89.064
1, 0  acc:  2235 /  2480 =  90.121
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17732 / 19962 =  88.829
Robust  acc:  8626 /  9767 =  88.318
------------------------------------
Accuracies by groups:
0, 0  acc:  8626 /  9767 =  88.318
0, 1  acc:  6711 /  7535 =  89.064
1, 0  acc:  2235 /  2480 =  90.121
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17732 / 19962 =  88.829
Robust  acc:  8626 /  9767 =  88.318
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8626 /  9767 =  88.318
0, 1  acc:  6711 /  7535 =  89.064
1, 0  acc:  2235 /  2480 =  90.121
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17732 / 19962 =  88.829
Robust  acc:  8626 /  9767 =  88.318
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed2.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed2.pt
train_gdro.py: groupDRO_lr0.0001_wd0.1_bs128_adj9_seed2 (training) is done
                                                                                                                                                                                                                         