Arch: resnet50_pt
Bs trn: 128
Bs val: 128
Hidden dim: 256
Dataset: celebA
Resample class: 
Slice with: rep
Rep cluster method: gmm
Num anchor: 32
Num positive: 32
Num negative: 32
Num negative easy: 0
Weight anc by loss: False
Weight pos by loss: False
Weight neg by loss: False
Anc loss temp: 0.5
Pos loss temp: 0.5
Neg loss temp: 0.5
Data wide pos: False
Target sample ratio: 1
Balance targets: False
Additional negatives: False
Hard negative factor: 0
Full contrastive: False
Train encoder: False
No projection head: False
Projection dim: 128
Batch factor: None
Temperature: 0.05
Single pos: False
Supervised linear scale up: False
Supervised update delay: 0
Contrastive weight: 0.5
Classifier update interval: 8
Optim: sgd
Max epoch: 50
Lr: 0.0001
Momentum: 0.9
Weight decay: 0.1
Weight decay c: 0.1
Stopping window: 30
Load encoder: 
Freeze encoder: False
Finetune epochs: 0
Clip grad norm: False
Lr scheduler classifier: 
Lr scheduler: 
Grad clip grad norm: False
Erm: False
Erm only: False
Pretrained spurious path: ./model/celebA/config/stage_one_erm/seed36/stage_one_erm_model_b_epoch0_seed36.pt
Max epoch s: 1
Bs trn s: 32
Lr s: 0.001
Momentum s: 0.9
Weight decay s: 0.0005
Slice temp: 10
Log loss interval: 10
Checkpoint interval: 50
Grad checkpoint interval: 50
Log visual interval: 100
Log grad visual interval: 50
Verbose: True
Seed: 10
Replicate: 0
No cuda: False
Resume: False
New slice: False
Num workers: 12
Evaluate: False
Data cmap: hsv
Test cmap: 
P correlation: 0.9
P corr by class: None
Train classes: ['blond', 'nonblond']
Train class ratios: None
Test shift: random
Flipped: False
Q: 0.7
Pretrained bmodel: True
Cosine: False
Exp: ours
Tau: 1.0
Gamma: None
Remove label noise: False
Model for remove samples: 
Remove ratio: 0.03
Supervised contrast: True
Prioritize spurious pos: False
Contrastive type: cnc
Compute auroc: False
Model type: resnet50_pt_cnc
Criterion: cross_entropy
Pretrained: False
Max grad norm: 1.0
Adam epsilon: 1e-08
Warmup steps: 0
Max grad norm s: 1.0
Adam epsilon s: 1e-08
Warmup steps s: 0
Grad max grad norm: 1.0
Grad adam epsilon: 1e-08
Grad warmup steps: 0
Device: cuda
Img file type: .png
Display image: False
Image path: ./images/celebA/celebA/config/contrastive_umaps
Log interval: 1
Log path: ./logs/celebA/config
Results path: ./results/celebA/config
Model path: ./model/celebA/config
Loss factor: 1
Supersample labels: False
Subsample labels: False
Weigh slice samples by loss: True
Val split: 0.2
Spurious train split: 0.2
Subsample groups: False
Train method: sc
Max robust acc: -1
Max robust epoch: -1
Max robust group acc: (None, None)
Root dir: ./datasets/data/CelebA/
Target name: Blond_Hair
Confounder names: ['Male']
Image mean: 0.449
Image std: 0.226
Augment data: False
Task: celebA
Num classes: 2
Experiment configs: config
Experiment name: cnc-celebA-sw=re-na=32-np=32-nn=32-nne=0-tsr=1-t=0.05-bf=None-cw=0.5-sud=0-me=50-bst=128-o=sgd-lr=0.0001-mo=0.9-wd=0.1-wdc=0.1-spur-me=1-bst=32-lr=0.001-mo=0.9-wd=0.0005-sts=0.2-s=10-r=0
Mi resampled: None

Loading checkpoints for train split:
[-1 -1 -1 ... -1 -1 -1]
<class 'numpy.ndarray'>
[0 1 2 3] [71629 66874 22880  1387]
Loading checkpoints for val split:
[-1 -1 -1 ... -1  1 -1]
<class 'numpy.ndarray'>
[0 1 2 3] [8535 8276 2874  182]
Loading checkpoints for test split:
[-1 -1 -1 ... -1 -1  1]
<class 'numpy.ndarray'>
[0 1 2 3] [9767 7535 2480  180]
Train dataset:
    Blond_Hair = 0, Male = 0 : n = 71629
    Blond_Hair = 0, Male = 1 : n = 66874
    Blond_Hair = 1, Male = 0 : n = 22880
    Blond_Hair = 1, Male = 1 : n = 1387
Val dataset:
    Blond_Hair = 0, Male = 0 : n = 8535
    Blond_Hair = 0, Male = 1 : n = 8276
    Blond_Hair = 1, Male = 0 : n = 2874
    Blond_Hair = 1, Male = 1 : n = 182
Test dataset:
    Blond_Hair = 0, Male = 0 : n = 9767
    Blond_Hair = 0, Male = 1 : n = 7535
    Blond_Hair = 1, Male = 0 : n = 2480
    Blond_Hair = 1, Male = 1 : n = 180
------------------------
> Loading spurious model
------------------------
Pretrained model loaded from ./model/celebA/config/stage_one_erm/seed36/stage_one_erm_model_b_epoch0_seed36.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8309, 0.0200],
        [0.1350, 0.0141]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.786 | Val Loss: 0.004 | Val Acc: 78.180
Training:
Accuracies by groups:
0, 0  acc:  5778 / 14479 =  39.906
0, 1  acc:  2967 /  6621 =  44.812
1, 0  acc: 130711 / 132921 =  98.337
1, 1  acc:  8316 /  8749 =  95.051
--------------------------------------
Average acc: 147772 / 162770 =  90.786
Robust  acc:  5778 / 14479 =  39.906
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6060 /  8535 =  71.002
0, 1  acc:  6455 /  8276 =  77.997
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 15532 / 19867 =  78.180
Robust  acc:  6060 /  8535 =  71.002
------------------------------------
New max robust acc: 71.00175746924428
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed10.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed10.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 80.242
Robust Acc: 76.697 | Best Acc: 98.871
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7491 /  9767 =  76.697
0, 1  acc:  5903 /  7535 =  78.341
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16018 / 19962 =  80.242
Robust  acc:  7491 /  9767 =  76.697
------------------------------------
Accuracies by groups:
0, 0  acc:  7491 /  9767 =  76.697
0, 1  acc:  5903 /  7535 =  78.341
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16018 / 19962 =  80.242
Robust  acc:  7491 /  9767 =  76.697
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7491 /  9767 =  76.697
0, 1  acc:  5903 /  7535 =  78.341
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16018 / 19962 =  80.242
Robust  acc:  7491 /  9767 =  76.697
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.612 | Val Loss: 0.003 | Val Acc: 83.923
Training:
Accuracies by groups:
0, 0  acc:  9321 / 14582 =  63.921
0, 1  acc:  4724 /  6477 =  72.935
1, 0  acc: 131736 / 132982 =  99.063
1, 1  acc:  8219 /  8729 =  94.157
--------------------------------------
Average acc: 154000 / 162770 =  94.612
Robust  acc:  9321 / 14582 =  63.921
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6504 /  8535 =  76.204
0, 1  acc:  7155 /  8276 =  86.455
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16673 / 19867 =  83.923
Robust  acc:  6504 /  8535 =  76.204
------------------------------------
New max robust acc: 76.20386643233743
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed10.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed10.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.317
Robust Acc: 81.243 | Best Acc: 98.710
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7935 /  9767 =  81.243
0, 1  acc:  6481 /  7535 =  86.012
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17031 / 19962 =  85.317
Robust  acc:  7935 /  9767 =  81.243
------------------------------------
Accuracies by groups:
0, 0  acc:  7935 /  9767 =  81.243
0, 1  acc:  6481 /  7535 =  86.012
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17031 / 19962 =  85.317
Robust  acc:  7935 /  9767 =  81.243
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7935 /  9767 =  81.243
0, 1  acc:  6481 /  7535 =  86.012
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17031 / 19962 =  85.317
Robust  acc:  7935 /  9767 =  81.243
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.353 | Val Loss: 0.003 | Val Acc: 86.173
Training:
Accuracies by groups:
0, 0  acc:  9666 / 14332 =  67.443
0, 1  acc:  5248 /  6547 =  80.159
1, 0  acc: 132240 / 133382 =  99.144
1, 1  acc:  8052 /  8509 =  94.629
--------------------------------------
Average acc: 155206 / 162770 =  95.353
Robust  acc:  9666 / 14332 =  67.443
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6701 /  8535 =  78.512
0, 1  acc:  7406 /  8276 =  89.488
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 17120 / 19867 =  86.173
Robust  acc:  6701 /  8535 =  78.512
------------------------------------
New max robust acc: 78.5120093731693
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed10.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed10.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.371
Robust Acc: 83.188 | Best Acc: 98.427
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8125 /  9767 =  83.188
0, 1  acc:  6711 /  7535 =  89.064
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17441 / 19962 =  87.371
Robust  acc:  8125 /  9767 =  83.188
------------------------------------
Accuracies by groups:
0, 0  acc:  8125 /  9767 =  83.188
0, 1  acc:  6711 /  7535 =  89.064
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17441 / 19962 =  87.371
Robust  acc:  8125 /  9767 =  83.188
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8125 /  9767 =  83.188
0, 1  acc:  6711 /  7535 =  89.064
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17441 / 19962 =  87.371
Robust  acc:  8125 /  9767 =  83.188
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.775 | Val Loss: 0.002 | Val Acc: 87.462
Training:
Accuracies by groups:
0, 0  acc: 10182 / 14575 =  69.859
0, 1  acc:  5507 /  6582 =  83.668
1, 0  acc: 132051 / 133049 =  99.250
1, 1  acc:  8153 /  8564 =  95.201
--------------------------------------
Average acc: 155893 / 162770 =  95.775
Robust  acc: 10182 / 14575 =  69.859
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6776 /  8535 =  79.391
0, 1  acc:  7592 /  8276 =  91.735
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17376 / 19867 =  87.462
Robust  acc:  6776 /  8535 =  79.391
------------------------------------
New max robust acc: 79.39074399531341
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed10.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed10.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.453
Robust Acc: 83.803 | Best Acc: 98.185
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8185 /  9767 =  83.803
0, 1  acc:  6881 /  7535 =  91.321
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17657 / 19962 =  88.453
Robust  acc:  8185 /  9767 =  83.803
------------------------------------
Accuracies by groups:
0, 0  acc:  8185 /  9767 =  83.803
0, 1  acc:  6881 /  7535 =  91.321
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17657 / 19962 =  88.453
Robust  acc:  8185 /  9767 =  83.803
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8185 /  9767 =  83.803
0, 1  acc:  6881 /  7535 =  91.321
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17657 / 19962 =  88.453
Robust  acc:  8185 /  9767 =  83.803
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.262 | Val Loss: 0.002 | Val Acc: 88.795
Training:
Accuracies by groups:
0, 0  acc: 10319 / 14355 =  71.884
0, 1  acc:  5556 /  6466 =  85.926
1, 0  acc: 132391 / 133212 =  99.384
1, 1  acc:  8419 /  8737 =  96.360
--------------------------------------
Average acc: 156685 / 162770 =  96.262
Robust  acc: 10319 / 14355 =  71.884
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6971 /  8535 =  81.675
0, 1  acc:  7676 /  8276 =  92.750
1, 0  acc:  2824 /  2874 =  98.260
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17641 / 19867 =  88.795
Robust  acc:  6971 /  8535 =  81.675
------------------------------------
New max robust acc: 81.67545401288811
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed10.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed10.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.535
Robust Acc: 85.390 | Best Acc: 97.863
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8340 /  9767 =  85.390
0, 1  acc:  6948 /  7535 =  92.210
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17873 / 19962 =  89.535
Robust  acc:  8340 /  9767 =  85.390
------------------------------------
Accuracies by groups:
0, 0  acc:  8340 /  9767 =  85.390
0, 1  acc:  6948 /  7535 =  92.210
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17873 / 19962 =  89.535
Robust  acc:  8340 /  9767 =  85.390
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8340 /  9767 =  85.390
0, 1  acc:  6948 /  7535 =  92.210
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17873 / 19962 =  89.535
Robust  acc:  8340 /  9767 =  85.390
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.722 | Val Loss: 0.002 | Val Acc: 90.200
Training:
Accuracies by groups:
0, 0  acc: 10881 / 14640 =  74.324
0, 1  acc:  5719 /  6484 =  88.202
1, 0  acc: 132460 / 133074 =  99.539
1, 1  acc:  8374 /  8572 =  97.690
--------------------------------------
Average acc: 157434 / 162770 =  96.722
Robust  acc: 10881 / 14640 =  74.324
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7118 /  8535 =  83.398
0, 1  acc:  7817 /  8276 =  94.454
1, 0  acc:  2819 /  2874 =  98.086
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17920 / 19867 =  90.200
Robust  acc:  7118 /  8535 =  83.398
------------------------------------
New max robust acc: 83.39777387229057
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed10.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed10.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.632
Robust Acc: 85.000 | Best Acc: 97.379
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8455 /  9767 =  86.567
0, 1  acc:  7069 /  7535 =  93.816
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18092 / 19962 =  90.632
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8455 /  9767 =  86.567
0, 1  acc:  7069 /  7535 =  93.816
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18092 / 19962 =  90.632
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8455 /  9767 =  86.567
0, 1  acc:  7069 /  7535 =  93.816
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18092 / 19962 =  90.632
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.245 | Val Loss: 0.002 | Val Acc: 91.025
Training:
Accuracies by groups:
0, 0  acc: 11251 / 14602 =  77.051
0, 1  acc:  5903 /  6566 =  89.903
1, 0  acc: 132590 / 132963 =  99.719
1, 1  acc:  8541 /  8639 =  98.866
--------------------------------------
Average acc: 158285 / 162770 =  97.245
Robust  acc: 11251 / 14602 =  77.051
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7285 /  8535 =  85.354
0, 1  acc:  7832 /  8276 =  94.635
1, 0  acc:  2801 /  2874 =  97.460
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 18084 / 19867 =  91.025
Robust  acc:  7285 /  8535 =  85.354
------------------------------------
New max robust acc: 85.35442296426478
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed10.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed10.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.349
Robust Acc: 83.333 | Best Acc: 97.097
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8590 /  9767 =  87.949
0, 1  acc:  7087 /  7535 =  94.054
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18235 / 19962 =  91.349
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8590 /  9767 =  87.949
0, 1  acc:  7087 /  7535 =  94.054
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18235 / 19962 =  91.349
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8590 /  9767 =  87.949
0, 1  acc:  7087 /  7535 =  94.054
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18235 / 19962 =  91.349
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.777 | Val Loss: 0.002 | Val Acc: 91.312
Training:
Accuracies by groups:
0, 0  acc: 11408 / 14253 =  80.039
0, 1  acc:  6112 /  6658 =  91.799
1, 0  acc: 133094 / 133278 =  99.862
1, 1  acc:  8537 /  8581 =  99.487
--------------------------------------
Average acc: 159151 / 162770 =  97.777
Robust  acc: 11408 / 14253 =  80.039
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7319 /  8535 =  85.753
0, 1  acc:  7872 /  8276 =  95.118
1, 0  acc:  2790 /  2874 =  97.077
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 18141 / 19867 =  91.312
Robust  acc:  7319 /  8535 =  85.753
------------------------------------
New max robust acc: 85.7527826596368
debias model - Saving best checkpoint at epoch 7
replace: True
-> Updating checkpoint debias-wga-best_seed10.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed10.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.479
Robust Acc: 80.556 | Best Acc: 96.452
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8601 /  9767 =  88.062
0, 1  acc:  7123 /  7535 =  94.532
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18261 / 19962 =  91.479
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8601 /  9767 =  88.062
0, 1  acc:  7123 /  7535 =  94.532
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18261 / 19962 =  91.479
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8601 /  9767 =  88.062
0, 1  acc:  7123 /  7535 =  94.532
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18261 / 19962 =  91.479
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.193 | Val Loss: 0.002 | Val Acc: 92.797
Training:
Accuracies by groups:
0, 0  acc: 12124 / 14551 =  83.321
0, 1  acc:  6092 /  6495 =  93.795
1, 0  acc: 133002 / 133095 =  99.930
1, 1  acc:  8611 /  8629 =  99.791
--------------------------------------
Average acc: 159829 / 162770 =  98.193
Robust  acc: 12124 / 14551 =  83.321
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7523 /  8535 =  88.143
0, 1  acc:  8009 /  8276 =  96.774
1, 0  acc:  2759 /  2874 =  95.999
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18436 / 19867 =  92.797
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 92.992
Robust Acc: 76.111 | Best Acc: 96.231
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8819 /  9767 =  90.294
0, 1  acc:  7251 /  7535 =  96.231
1, 0  acc:  2356 /  2480 =  95.000
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18563 / 19962 =  92.992
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8819 /  9767 =  90.294
0, 1  acc:  7251 /  7535 =  96.231
1, 0  acc:  2356 /  2480 =  95.000
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18563 / 19962 =  92.992
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8819 /  9767 =  90.294
0, 1  acc:  7251 /  7535 =  96.231
1, 0  acc:  2356 /  2480 =  95.000
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18563 / 19962 =  92.992
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.480 | Val Loss: 0.001 | Val Acc: 93.618
Training:
Accuracies by groups:
0, 0  acc: 12619 / 14633 =  86.237
0, 1  acc:  6271 /  6620 =  94.728
1, 0  acc: 132875 / 132963 =  99.934
1, 1  acc:  8531 /  8554 =  99.731
--------------------------------------
Average acc: 160296 / 162770 =  98.480
Robust  acc: 12619 / 14633 =  86.237
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7684 /  8535 =  90.029
0, 1  acc:  8072 /  8276 =  97.535
1, 0  acc:  2706 /  2874 =  94.154
1, 1  acc:   137 /   182 =  75.275
------------------------------------
Average acc: 18599 / 19867 =  93.618
Robust  acc:   137 /   182 =  75.275
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.743
Robust Acc: 73.333 | Best Acc: 97.107
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8965 /  9767 =  91.789
0, 1  acc:  7317 /  7535 =  97.107
1, 0  acc:  2299 /  2480 =  92.702
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18713 / 19962 =  93.743
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8965 /  9767 =  91.789
0, 1  acc:  7317 /  7535 =  97.107
1, 0  acc:  2299 /  2480 =  92.702
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18713 / 19962 =  93.743
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8965 /  9767 =  91.789
0, 1  acc:  7317 /  7535 =  97.107
1, 0  acc:  2299 /  2480 =  92.702
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18713 / 19962 =  93.743
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.487 | Val Loss: 0.002 | Val Acc: 93.144
Training:
Accuracies by groups:
0, 0  acc: 12620 / 14553 =  86.718
0, 1  acc:  6202 /  6515 =  95.196
1, 0  acc: 133002 / 133166 =  99.877
1, 1  acc:  8484 /  8536 =  99.391
--------------------------------------
Average acc: 160308 / 162770 =  98.487
Robust  acc: 12620 / 14553 =  86.718
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7674 /  8535 =  89.912
0, 1  acc:  7979 /  8276 =  96.411
1, 0  acc:  2703 /  2874 =  94.050
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 18505 / 19867 =  93.144
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.282
Robust Acc: 76.111 | Best Acc: 95.833
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8951 /  9767 =  91.645
0, 1  acc:  7221 /  7535 =  95.833
1, 0  acc:  2312 /  2480 =  93.226
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18621 / 19962 =  93.282
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8951 /  9767 =  91.645
0, 1  acc:  7221 /  7535 =  95.833
1, 0  acc:  2312 /  2480 =  93.226
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18621 / 19962 =  93.282
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8951 /  9767 =  91.645
0, 1  acc:  7221 /  7535 =  95.833
1, 0  acc:  2312 /  2480 =  93.226
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18621 / 19962 =  93.282
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.202 | Val Loss: 0.002 | Val Acc: 93.230
Training:
Accuracies by groups:
0, 0  acc: 12221 / 14368 =  85.057
0, 1  acc:  6218 /  6595 =  94.284
1, 0  acc: 132846 / 133178 =  99.751
1, 1  acc:  8559 /  8629 =  99.189
--------------------------------------
Average acc: 159844 / 162770 =  98.202
Robust  acc: 12221 / 14368 =  85.057
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7636 /  8535 =  89.467
0, 1  acc:  8040 /  8276 =  97.148
1, 0  acc:  2708 /  2874 =  94.224
1, 1  acc:   138 /   182 =  75.824
------------------------------------
Average acc: 18522 / 19867 =  93.230
Robust  acc:   138 /   182 =  75.824
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.543
Robust Acc: 70.556 | Best Acc: 96.709
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8957 /  9767 =  91.707
0, 1  acc:  7287 /  7535 =  96.709
1, 0  acc:  2302 /  2480 =  92.823
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18673 / 19962 =  93.543
Robust  acc:   127 /   180 =  70.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8957 /  9767 =  91.707
0, 1  acc:  7287 /  7535 =  96.709
1, 0  acc:  2302 /  2480 =  92.823
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18673 / 19962 =  93.543
Robust  acc:   127 /   180 =  70.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8957 /  9767 =  91.707
0, 1  acc:  7287 /  7535 =  96.709
1, 0  acc:  2302 /  2480 =  92.823
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18673 / 19962 =  93.543
Robust  acc:   127 /   180 =  70.556
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.893 | Val Loss: 0.002 | Val Acc: 91.086
Training:
Accuracies by groups:
0, 0  acc: 11882 / 14279 =  83.213
0, 1  acc:  6130 /  6603 =  92.837
1, 0  acc: 132830 / 133253 =  99.683
1, 1  acc:  8499 /  8635 =  98.425
--------------------------------------
Average acc: 159341 / 162770 =  97.893
Robust  acc: 11882 / 14279 =  83.213
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7239 /  8535 =  84.815
0, 1  acc:  7926 /  8276 =  95.771
1, 0  acc:  2780 /  2874 =  96.729
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 18096 / 19867 =  91.086
Robust  acc:   151 /   182 =  82.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.464
Robust Acc: 78.889 | Best Acc: 96.210
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8579 /  9767 =  87.837
0, 1  acc:  7151 /  7535 =  94.904
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18258 / 19962 =  91.464
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8579 /  9767 =  87.837
0, 1  acc:  7151 /  7535 =  94.904
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18258 / 19962 =  91.464
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8579 /  9767 =  87.837
0, 1  acc:  7151 /  7535 =  94.904
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18258 / 19962 =  91.464
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.402 | Val Loss: 0.002 | Val Acc: 88.775
Training:
Accuracies by groups:
0, 0  acc: 11587 / 14427 =  80.315
0, 1  acc:  6120 /  6686 =  91.535
1, 0  acc: 132274 / 132913 =  99.519
1, 1  acc:  8561 /  8744 =  97.907
--------------------------------------
Average acc: 158542 / 162770 =  97.402
Robust  acc: 11587 / 14427 =  80.315
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6990 /  8535 =  81.898
0, 1  acc:  7693 /  8276 =  92.956
1, 0  acc:  2791 /  2874 =  97.112
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17637 / 19867 =  88.775
Robust  acc:  6990 /  8535 =  81.898
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.380
Robust Acc: 82.222 | Best Acc: 95.968
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8343 /  9767 =  85.420
0, 1  acc:  6971 /  7535 =  92.515
1, 0  acc:  2380 /  2480 =  95.968
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 17842 / 19962 =  89.380
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8343 /  9767 =  85.420
0, 1  acc:  6971 /  7535 =  92.515
1, 0  acc:  2380 /  2480 =  95.968
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 17842 / 19962 =  89.380
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8343 /  9767 =  85.420
0, 1  acc:  6971 /  7535 =  92.515
1, 0  acc:  2380 /  2480 =  95.968
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 17842 / 19962 =  89.380
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.929 | Val Loss: 0.003 | Val Acc: 88.081
Training:
Accuracies by groups:
0, 0  acc: 11168 / 14461 =  77.228
0, 1  acc:  5906 /  6569 =  89.907
1, 0  acc: 132452 / 133265 =  99.390
1, 1  acc:  8245 /  8475 =  97.286
--------------------------------------
Average acc: 157771 / 162770 =  96.929
Robust  acc: 11168 / 14461 =  77.228
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6947 /  8535 =  81.394
0, 1  acc:  7572 /  8276 =  91.493
1, 0  acc:  2814 /  2874 =  97.912
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17499 / 19867 =  88.081
Robust  acc:  6947 /  8535 =  81.394
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.119
Robust Acc: 82.778 | Best Acc: 97.097
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8318 /  9767 =  85.164
0, 1  acc:  6915 /  7535 =  91.772
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17790 / 19962 =  89.119
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8318 /  9767 =  85.164
0, 1  acc:  6915 /  7535 =  91.772
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17790 / 19962 =  89.119
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8318 /  9767 =  85.164
0, 1  acc:  6915 /  7535 =  91.772
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17790 / 19962 =  89.119
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.456 | Val Loss: 0.003 | Val Acc: 87.014
Training:
Accuracies by groups:
0, 0  acc: 10625 / 14351 =  74.037
0, 1  acc:  5791 /  6585 =  87.942
1, 0  acc: 132280 / 133216 =  99.297
1, 1  acc:  8305 /  8618 =  96.368
--------------------------------------
Average acc: 157001 / 162770 =  96.456
Robust  acc: 10625 / 14351 =  74.037
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6819 /  8535 =  79.895
0, 1  acc:  7458 /  8276 =  90.116
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 17287 / 19867 =  87.014
Robust  acc:  6819 /  8535 =  79.895
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.987
Robust Acc: 83.352 | Best Acc: 98.669
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8141 /  9767 =  83.352
0, 1  acc:  6816 /  7535 =  90.458
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17564 / 19962 =  87.987
Robust  acc:  8141 /  9767 =  83.352
------------------------------------
Accuracies by groups:
0, 0  acc:  8141 /  9767 =  83.352
0, 1  acc:  6816 /  7535 =  90.458
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17564 / 19962 =  87.987
Robust  acc:  8141 /  9767 =  83.352
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8141 /  9767 =  83.352
0, 1  acc:  6816 /  7535 =  90.458
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17564 / 19962 =  87.987
Robust  acc:  8141 /  9767 =  83.352
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.933 | Val Loss: 0.002 | Val Acc: 89.953
Training:
Accuracies by groups:
0, 0  acc: 10350 / 14463 =  71.562
0, 1  acc:  5679 /  6643 =  85.488
1, 0  acc: 131910 / 133029 =  99.159
1, 1  acc:  8211 /  8635 =  95.090
--------------------------------------
Average acc: 156150 / 162770 =  95.933
Robust  acc: 10350 / 14463 =  71.562
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7114 /  8535 =  83.351
0, 1  acc:  7777 /  8276 =  93.971
1, 0  acc:  2815 /  2874 =  97.947
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17871 / 19867 =  89.953
Robust  acc:  7114 /  8535 =  83.351
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.808
Robust Acc: 83.333 | Best Acc: 97.742
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  8457 /  9767 =  86.587
0, 1  acc:  7096 /  7535 =  94.174
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18127 / 19962 =  90.808
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8457 /  9767 =  86.587
0, 1  acc:  7096 /  7535 =  94.174
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18127 / 19962 =  90.808
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8457 /  9767 =  86.587
0, 1  acc:  7096 /  7535 =  94.174
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18127 / 19962 =  90.808
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.551 | Val Loss: 0.002 | Val Acc: 91.619
Training:
Accuracies by groups:
0, 0  acc: 10176 / 14537 =  70.001
0, 1  acc:  5467 /  6571 =  83.199
1, 0  acc: 131699 / 133023 =  99.005
1, 1  acc:  8186 /  8639 =  94.756
--------------------------------------
Average acc: 155528 / 162770 =  95.551
Robust  acc: 10176 / 14537 =  70.001
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7438 /  8535 =  87.147
0, 1  acc:  7837 /  8276 =  94.696
1, 0  acc:  2765 /  2874 =  96.207
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 18202 / 19867 =  91.619
Robust  acc:  7438 /  8535 =  87.147
------------------------------------
New max robust acc: 87.14704159343879
debias model - Saving best checkpoint at epoch 17
replace: True
-> Updating checkpoint debias-wga-best_seed10.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed10.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.100
Robust Acc: 79.444 | Best Acc: 95.726
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  8736 /  9767 =  89.444
0, 1  acc:  7132 /  7535 =  94.652
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18385 / 19962 =  92.100
Robust  acc:   143 /   180 =  79.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8736 /  9767 =  89.444
0, 1  acc:  7132 /  7535 =  94.652
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18385 / 19962 =  92.100
Robust  acc:   143 /   180 =  79.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8736 /  9767 =  89.444
0, 1  acc:  7132 /  7535 =  94.652
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18385 / 19962 =  92.100
Robust  acc:   143 /   180 =  79.444
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.254 | Val Loss: 0.003 | Val Acc: 84.759
Training:
Accuracies by groups:
0, 0  acc:  9893 / 14585 =  67.830
0, 1  acc:  5378 /  6578 =  81.757
1, 0  acc: 131696 / 133053 =  98.980
1, 1  acc:  8078 /  8554 =  94.435
--------------------------------------
Average acc: 155045 / 162770 =  95.254
Robust  acc:  9893 / 14585 =  67.830
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6745 /  8535 =  79.028
0, 1  acc:  7091 /  8276 =  85.681
1, 0  acc:  2825 /  2874 =  98.295
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16839 / 19867 =  84.759
Robust  acc:  6745 /  8535 =  79.028
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.043
Robust Acc: 83.383 | Best Acc: 97.782
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  8144 /  9767 =  83.383
0, 1  acc:  6437 /  7535 =  85.428
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 17176 / 19962 =  86.043
Robust  acc:  8144 /  9767 =  83.383
------------------------------------
Accuracies by groups:
0, 0  acc:  8144 /  9767 =  83.383
0, 1  acc:  6437 /  7535 =  85.428
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 17176 / 19962 =  86.043
Robust  acc:  8144 /  9767 =  83.383
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8144 /  9767 =  83.383
0, 1  acc:  6437 /  7535 =  85.428
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 17176 / 19962 =  86.043
Robust  acc:  8144 /  9767 =  83.383
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 94.999 | Val Loss: 0.006 | Val Acc: 67.338
Training:
Accuracies by groups:
0, 0  acc:  9552 / 14447 =  66.118
0, 1  acc:  5142 /  6513 =  78.950
1, 0  acc: 131729 / 133154 =  98.930
1, 1  acc:  8207 /  8656 =  94.813
--------------------------------------
Average acc: 154630 / 162770 =  94.999
Robust  acc:  9552 / 14447 =  66.118
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4853 /  8535 =  56.860
0, 1  acc:  5477 /  8276 =  66.179
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 13378 / 19867 =  67.338
Robust  acc:  4853 /  8535 =  56.860
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.846
Robust Acc: 62.424 | Best Acc: 99.637
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  6097 /  9767 =  62.424
0, 1  acc:  4997 /  7535 =  66.317
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13743 / 19962 =  68.846
Robust  acc:  6097 /  9767 =  62.424
------------------------------------
Accuracies by groups:
0, 0  acc:  6097 /  9767 =  62.424
0, 1  acc:  4997 /  7535 =  66.317
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13743 / 19962 =  68.846
Robust  acc:  6097 /  9767 =  62.424
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6097 /  9767 =  62.424
0, 1  acc:  4997 /  7535 =  66.317
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13743 / 19962 =  68.846
Robust  acc:  6097 /  9767 =  62.424
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 94.685 | Val Loss: 0.005 | Val Acc: 74.606
Training:
Accuracies by groups:
0, 0  acc:  9578 / 14814 =  64.655
0, 1  acc:  4892 /  6447 =  75.880
1, 0  acc: 131613 / 133047 =  98.922
1, 1  acc:  8035 /  8462 =  94.954
--------------------------------------
Average acc: 154118 / 162770 =  94.685
Robust  acc:  9578 / 14814 =  64.655
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5630 /  8535 =  65.964
0, 1  acc:  6149 /  8276 =  74.299
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14822 / 19867 =  74.606
Robust  acc:  5630 /  8535 =  65.964
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.701
Robust Acc: 71.864 | Best Acc: 99.476
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  7019 /  9767 =  71.864
0, 1  acc:  5649 /  7535 =  74.970
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15311 / 19962 =  76.701
Robust  acc:  7019 /  9767 =  71.864
------------------------------------
Accuracies by groups:
0, 0  acc:  7019 /  9767 =  71.864
0, 1  acc:  5649 /  7535 =  74.970
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15311 / 19962 =  76.701
Robust  acc:  7019 /  9767 =  71.864
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7019 /  9767 =  71.864
0, 1  acc:  5649 /  7535 =  74.970
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15311 / 19962 =  76.701
Robust  acc:  7019 /  9767 =  71.864
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.576 | Val Loss: 0.004 | Val Acc: 82.383
Training:
Accuracies by groups:
0, 0  acc:  9169 / 14483 =  63.309
0, 1  acc:  4818 /  6551 =  73.546
1, 0  acc: 131710 / 133082 =  98.969
1, 1  acc:  8245 /  8654 =  95.274
--------------------------------------
Average acc: 153942 / 162770 =  94.576
Robust  acc:  9169 / 14483 =  63.309
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6422 /  8535 =  75.243
0, 1  acc:  6926 /  8276 =  83.688
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 16367 / 19867 =  82.383
Robust  acc:  6422 /  8535 =  75.243
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.849
Robust Acc: 80.281 | Best Acc: 98.427
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  7841 /  9767 =  80.281
0, 1  acc:  6289 /  7535 =  83.464
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16738 / 19962 =  83.849
Robust  acc:  7841 /  9767 =  80.281
------------------------------------
Accuracies by groups:
0, 0  acc:  7841 /  9767 =  80.281
0, 1  acc:  6289 /  7535 =  83.464
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16738 / 19962 =  83.849
Robust  acc:  7841 /  9767 =  80.281
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7841 /  9767 =  80.281
0, 1  acc:  6289 /  7535 =  83.464
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16738 / 19962 =  83.849
Robust  acc:  7841 /  9767 =  80.281
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.542 | Val Loss: 0.004 | Val Acc: 79.408
Training:
Accuracies by groups:
0, 0  acc:  9170 / 14638 =  62.645
0, 1  acc:  4780 /  6501 =  73.527
1, 0  acc: 131724 / 133011 =  99.032
1, 1  acc:  8212 /  8620 =  95.267
--------------------------------------
Average acc: 153886 / 162770 =  94.542
Robust  acc:  9170 / 14638 =  62.645
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6137 /  8535 =  71.904
0, 1  acc:  6612 /  8276 =  79.894
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15776 / 19867 =  79.408
Robust  acc:  6137 /  8535 =  71.904
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.984
Robust Acc: 77.066 | Best Acc: 98.911
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  7527 /  9767 =  77.066
0, 1  acc:  6015 /  7535 =  79.827
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16166 / 19962 =  80.984
Robust  acc:  7527 /  9767 =  77.066
------------------------------------
Accuracies by groups:
0, 0  acc:  7527 /  9767 =  77.066
0, 1  acc:  6015 /  7535 =  79.827
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16166 / 19962 =  80.984
Robust  acc:  7527 /  9767 =  77.066
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7527 /  9767 =  77.066
0, 1  acc:  6015 /  7535 =  79.827
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16166 / 19962 =  80.984
Robust  acc:  7527 /  9767 =  77.066
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.493 | Val Loss: 0.003 | Val Acc: 91.755
Training:
Accuracies by groups:
0, 0  acc:  8813 / 14284 =  61.698
0, 1  acc:  4677 /  6544 =  71.470
1, 0  acc: 132038 / 133269 =  99.076
1, 1  acc:  8279 /  8673 =  95.457
--------------------------------------
Average acc: 153807 / 162770 =  94.493
Robust  acc:  8813 / 14284 =  61.698
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7529 /  8535 =  88.213
0, 1  acc:  7828 /  8276 =  94.587
1, 0  acc:  2725 /  2874 =  94.816
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 18229 / 19867 =  91.755
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.611
Robust Acc: 80.556 | Best Acc: 94.519
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  8891 /  9767 =  91.031
0, 1  acc:  7122 /  7535 =  94.519
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18487 / 19962 =  92.611
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8891 /  9767 =  91.031
0, 1  acc:  7122 /  7535 =  94.519
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18487 / 19962 =  92.611
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8891 /  9767 =  91.031
0, 1  acc:  7122 /  7535 =  94.519
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18487 / 19962 =  92.611
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.330 | Val Loss: 0.004 | Val Acc: 84.155
Training:
Accuracies by groups:
0, 0  acc:  8883 / 14559 =  61.014
0, 1  acc:  4724 /  6606 =  71.511
1, 0  acc: 131712 / 132985 =  99.043
1, 1  acc:  8222 /  8620 =  95.383
--------------------------------------
Average acc: 153541 / 162770 =  94.330
Robust  acc:  8883 / 14559 =  61.014
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6662 /  8535 =  78.055
0, 1  acc:  7066 /  8276 =  85.379
1, 0  acc:  2818 /  2874 =  98.051
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16719 / 19867 =  84.155
Robust  acc:  6662 /  8535 =  78.055
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.538
Robust Acc: 82.840 | Best Acc: 97.621
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  8091 /  9767 =  82.840
0, 1  acc:  6398 /  7535 =  84.910
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17075 / 19962 =  85.538
Robust  acc:  8091 /  9767 =  82.840
------------------------------------
Accuracies by groups:
0, 0  acc:  8091 /  9767 =  82.840
0, 1  acc:  6398 /  7535 =  84.910
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17075 / 19962 =  85.538
Robust  acc:  8091 /  9767 =  82.840
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8091 /  9767 =  82.840
0, 1  acc:  6398 /  7535 =  84.910
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17075 / 19962 =  85.538
Robust  acc:  8091 /  9767 =  82.840
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.193 | Val Loss: 0.009 | Val Acc: 42.407
Training:
Accuracies by groups:
0, 0  acc:  8704 / 14511 =  59.982
0, 1  acc:  4492 /  6478 =  69.342
1, 0  acc: 131816 / 133104 =  99.032
1, 1  acc:  8306 /  8677 =  95.724
--------------------------------------
Average acc: 153318 / 162770 =  94.193
Robust  acc:  8704 / 14511 =  59.982
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2216 /  8535 =  25.964
0, 1  acc:  3156 /  8276 =  38.134
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  8425 / 19867 =  42.407
Robust  acc:  2216 /  8535 =  25.964
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 42.210
Robust Acc: 30.286 | Best Acc: 99.960
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  2958 /  9767 =  30.286
0, 1  acc:  2811 /  7535 =  37.306
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8426 / 19962 =  42.210
Robust  acc:  2958 /  9767 =  30.286
------------------------------------
Accuracies by groups:
0, 0  acc:  2958 /  9767 =  30.286
0, 1  acc:  2811 /  7535 =  37.306
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8426 / 19962 =  42.210
Robust  acc:  2958 /  9767 =  30.286
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2958 /  9767 =  30.286
0, 1  acc:  2811 /  7535 =  37.306
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8426 / 19962 =  42.210
Robust  acc:  2958 /  9767 =  30.286
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.172 | Val Loss: 0.004 | Val Acc: 85.015
Training:
Accuracies by groups:
0, 0  acc:  8556 / 14471 =  59.125
0, 1  acc:  4455 /  6592 =  67.582
1, 0  acc: 132041 / 133105 =  99.201
1, 1  acc:  8231 /  8602 =  95.687
--------------------------------------
Average acc: 153283 / 162770 =  94.172
Robust  acc:  8556 / 14471 =  59.125
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6797 /  8535 =  79.637
0, 1  acc:  7106 /  8276 =  85.863
1, 0  acc:  2813 /  2874 =  97.878
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16890 / 19867 =  85.015
Robust  acc:  6797 /  8535 =  79.637
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.720
Robust Acc: 83.772 | Best Acc: 97.137
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  8182 /  9767 =  83.772
0, 1  acc:  6561 /  7535 =  87.074
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17311 / 19962 =  86.720
Robust  acc:  8182 /  9767 =  83.772
------------------------------------
Accuracies by groups:
0, 0  acc:  8182 /  9767 =  83.772
0, 1  acc:  6561 /  7535 =  87.074
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17311 / 19962 =  86.720
Robust  acc:  8182 /  9767 =  83.772
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8182 /  9767 =  83.772
0, 1  acc:  6561 /  7535 =  87.074
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17311 / 19962 =  86.720
Robust  acc:  8182 /  9767 =  83.772
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 93.975 | Val Loss: 0.004 | Val Acc: 82.886
Training:
Accuracies by groups:
0, 0  acc:  8526 / 14725 =  57.902
0, 1  acc:  4282 /  6475 =  66.131
1, 0  acc: 131951 / 133007 =  99.206
1, 1  acc:  8204 /  8563 =  95.808
--------------------------------------
Average acc: 152963 / 162770 =  93.975
Robust  acc:  8526 / 14725 =  57.902
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6506 /  8535 =  76.227
0, 1  acc:  6961 /  8276 =  84.111
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16467 / 19867 =  82.886
Robust  acc:  6506 /  8535 =  76.227
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.894
Robust Acc: 80.455 | Best Acc: 97.863
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  7858 /  9767 =  80.455
0, 1  acc:  6293 /  7535 =  83.517
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16747 / 19962 =  83.894
Robust  acc:  7858 /  9767 =  80.455
------------------------------------
Accuracies by groups:
0, 0  acc:  7858 /  9767 =  80.455
0, 1  acc:  6293 /  7535 =  83.517
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16747 / 19962 =  83.894
Robust  acc:  7858 /  9767 =  80.455
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7858 /  9767 =  80.455
0, 1  acc:  6293 /  7535 =  83.517
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16747 / 19962 =  83.894
Robust  acc:  7858 /  9767 =  80.455
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 93.987 | Val Loss: 0.012 | Val Acc: 22.334
Training:
Accuracies by groups:
0, 0  acc:  8371 / 14552 =  57.525
0, 1  acc:  4253 /  6562 =  64.813
1, 0  acc: 131902 / 132890 =  99.257
1, 1  acc:  8456 /  8766 =  96.464
--------------------------------------
Average acc: 152982 / 162770 =  93.987
Robust  acc:  8371 / 14552 =  57.525
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:   220 /  8535 =   2.578
0, 1  acc:  1161 /  8276 =  14.029
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  4437 / 19867 =  22.334
Robust  acc:   220 /  8535 =   2.578
------------------------------------
-------------------------------------------
Avg Test Loss: 0.012 | Avg Test Acc: 19.627
Robust Acc: 3.082 | Best Acc: 100.000
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:   301 /  9767 =   3.082
0, 1  acc:   959 /  7535 =  12.727
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  3918 / 19962 =  19.627
Robust  acc:   301 /  9767 =   3.082
------------------------------------
Accuracies by groups:
0, 0  acc:   301 /  9767 =   3.082
0, 1  acc:   959 /  7535 =  12.727
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  3918 / 19962 =  19.627
Robust  acc:   301 /  9767 =   3.082
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:   301 /  9767 =   3.082
0, 1  acc:   959 /  7535 =  12.727
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  3918 / 19962 =  19.627
Robust  acc:   301 /  9767 =   3.082
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.985 | Val Loss: 0.007 | Val Acc: 54.815
Training:
Accuracies by groups:
0, 0  acc:  8188 / 14356 =  57.035
0, 1  acc:  4298 /  6622 =  64.905
1, 0  acc: 132174 / 133171 =  99.251
1, 1  acc:  8319 /  8621 =  96.497
--------------------------------------
Average acc: 152979 / 162770 =  93.985
Robust  acc:  8188 / 14356 =  57.035
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3443 /  8535 =  40.340
0, 1  acc:  4397 /  8276 =  53.130
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10890 / 19867 =  54.815
Robust  acc:  3443 /  8535 =  40.340
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 55.205
Robust Acc: 44.435 | Best Acc: 99.960
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  4340 /  9767 =  44.435
0, 1  acc:  4023 /  7535 =  53.391
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11020 / 19962 =  55.205
Robust  acc:  4340 /  9767 =  44.435
------------------------------------
Accuracies by groups:
0, 0  acc:  4340 /  9767 =  44.435
0, 1  acc:  4023 /  7535 =  53.391
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11020 / 19962 =  55.205
Robust  acc:  4340 /  9767 =  44.435
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4340 /  9767 =  44.435
0, 1  acc:  4023 /  7535 =  53.391
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11020 / 19962 =  55.205
Robust  acc:  4340 /  9767 =  44.435
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.957 | Val Loss: 0.006 | Val Acc: 70.433
Training:
Accuracies by groups:
0, 0  acc:  8116 / 14299 =  56.759
0, 1  acc:  4218 /  6584 =  64.064
1, 0  acc: 132338 / 133287 =  99.288
1, 1  acc:  8262 /  8600 =  96.070
--------------------------------------
Average acc: 152934 / 162770 =  93.957
Robust  acc:  8116 / 14299 =  56.759
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5478 /  8535 =  64.183
0, 1  acc:  5482 /  8276 =  66.240
1, 0  acc:  2855 /  2874 =  99.339
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 13993 / 19867 =  70.433
Robust  acc:  5478 /  8535 =  64.183
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 72.007
Robust Acc: 66.012 | Best Acc: 99.113
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  6764 /  9767 =  69.254
0, 1  acc:  4974 /  7535 =  66.012
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14374 / 19962 =  72.007
Robust  acc:  4974 /  7535 =  66.012
------------------------------------
Accuracies by groups:
0, 0  acc:  6764 /  9767 =  69.254
0, 1  acc:  4974 /  7535 =  66.012
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14374 / 19962 =  72.007
Robust  acc:  4974 /  7535 =  66.012
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6764 /  9767 =  69.254
0, 1  acc:  4974 /  7535 =  66.012
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14374 / 19962 =  72.007
Robust  acc:  4974 /  7535 =  66.012
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.996 | Val Loss: 0.005 | Val Acc: 73.217
Training:
Accuracies by groups:
0, 0  acc:  8421 / 14603 =  57.666
0, 1  acc:  4307 /  6660 =  64.670
1, 0  acc: 132029 / 132976 =  99.288
1, 1  acc:  8240 /  8531 =  96.589
--------------------------------------
Average acc: 152997 / 162770 =  93.996
Robust  acc:  8421 / 14603 =  57.666
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5632 /  8535 =  65.987
0, 1  acc:  5893 /  8276 =  71.206
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 14546 / 19867 =  73.217
Robust  acc:  5632 /  8535 =  65.987
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.717
Robust Acc: 70.789 | Best Acc: 98.669
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  6914 /  9767 =  70.789
0, 1  acc:  5387 /  7535 =  71.493
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 14915 / 19962 =  74.717
Robust  acc:  6914 /  9767 =  70.789
------------------------------------
Accuracies by groups:
0, 0  acc:  6914 /  9767 =  70.789
0, 1  acc:  5387 /  7535 =  71.493
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 14915 / 19962 =  74.717
Robust  acc:  6914 /  9767 =  70.789
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6914 /  9767 =  70.789
0, 1  acc:  5387 /  7535 =  71.493
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 14915 / 19962 =  74.717
Robust  acc:  6914 /  9767 =  70.789
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 94.011 | Val Loss: 0.006 | Val Acc: 68.722
Training:
Accuracies by groups:
0, 0  acc:  8087 / 14192 =  56.983
0, 1  acc:  4310 /  6628 =  65.027
1, 0  acc: 132349 / 133345 =  99.253
1, 1  acc:  8275 /  8605 =  96.165
--------------------------------------
Average acc: 153021 / 162770 =  94.011
Robust  acc:  8087 / 14192 =  56.983
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5329 /  8535 =  62.437
0, 1  acc:  5290 /  8276 =  63.920
1, 0  acc:  2855 /  2874 =  99.339
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 13653 / 19867 =  68.722
Robust  acc:  5329 /  8535 =  62.437
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 70.494
Robust Acc: 63.358 | Best Acc: 99.355
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  6659 /  9767 =  68.179
0, 1  acc:  4774 /  7535 =  63.358
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14072 / 19962 =  70.494
Robust  acc:  4774 /  7535 =  63.358
------------------------------------
Accuracies by groups:
0, 0  acc:  6659 /  9767 =  68.179
0, 1  acc:  4774 /  7535 =  63.358
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14072 / 19962 =  70.494
Robust  acc:  4774 /  7535 =  63.358
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6659 /  9767 =  68.179
0, 1  acc:  4774 /  7535 =  63.358
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14072 / 19962 =  70.494
Robust  acc:  4774 /  7535 =  63.358
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.913 | Val Loss: 0.006 | Val Acc: 73.217
Training:
Accuracies by groups:
0, 0  acc:  8220 / 14490 =  56.729
0, 1  acc:  4150 /  6475 =  64.093
1, 0  acc: 132186 / 133178 =  99.255
1, 1  acc:  8306 /  8627 =  96.279
--------------------------------------
Average acc: 152862 / 162770 =  93.913
Robust  acc:  8220 / 14490 =  56.729
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5544 /  8535 =  64.956
0, 1  acc:  5963 /  8276 =  72.052
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14546 / 19867 =  73.217
Robust  acc:  5544 /  8535 =  64.956
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.043
Robust Acc: 70.574 | Best Acc: 99.274
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  6893 /  9767 =  70.574
0, 1  acc:  5450 /  7535 =  72.329
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14980 / 19962 =  75.043
Robust  acc:  6893 /  9767 =  70.574
------------------------------------
Accuracies by groups:
0, 0  acc:  6893 /  9767 =  70.574
0, 1  acc:  5450 /  7535 =  72.329
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14980 / 19962 =  75.043
Robust  acc:  6893 /  9767 =  70.574
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6893 /  9767 =  70.574
0, 1  acc:  5450 /  7535 =  72.329
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14980 / 19962 =  75.043
Robust  acc:  6893 /  9767 =  70.574
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.890 | Val Loss: 0.006 | Val Acc: 70.881
Training:
Accuracies by groups:
0, 0  acc:  8298 / 14669 =  56.568
0, 1  acc:  4106 /  6431 =  63.847
1, 0  acc: 131988 / 132936 =  99.287
1, 1  acc:  8432 /  8734 =  96.542
--------------------------------------
Average acc: 152824 / 162770 =  93.890
Robust  acc:  8298 / 14669 =  56.568
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5359 /  8535 =  62.789
0, 1  acc:  5678 /  8276 =  68.608
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14082 / 19867 =  70.881
Robust  acc:  5359 /  8535 =  62.789
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.663
Robust Acc: 68.199 | Best Acc: 99.476
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  6661 /  9767 =  68.199
0, 1  acc:  5200 /  7535 =  69.011
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14505 / 19962 =  72.663
Robust  acc:  6661 /  9767 =  68.199
------------------------------------
Accuracies by groups:
0, 0  acc:  6661 /  9767 =  68.199
0, 1  acc:  5200 /  7535 =  69.011
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14505 / 19962 =  72.663
Robust  acc:  6661 /  9767 =  68.199
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6661 /  9767 =  68.199
0, 1  acc:  5200 /  7535 =  69.011
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14505 / 19962 =  72.663
Robust  acc:  6661 /  9767 =  68.199
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.966 | Val Loss: 0.006 | Val Acc: 65.979
Training:
Accuracies by groups:
0, 0  acc:  8363 / 14598 =  57.289
0, 1  acc:  4208 /  6527 =  64.471
1, 0  acc: 132022 / 132975 =  99.283
1, 1  acc:  8356 /  8670 =  96.378
--------------------------------------
Average acc: 152949 / 162770 =  93.966
Robust  acc:  8363 / 14598 =  57.289
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4622 /  8535 =  54.153
0, 1  acc:  5442 /  8276 =  65.756
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13108 / 19867 =  65.979
Robust  acc:  4622 /  8535 =  54.153
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 67.388
Robust Acc: 59.640 | Best Acc: 99.315
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  5825 /  9767 =  59.640
0, 1  acc:  4992 /  7535 =  66.251
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 13452 / 19962 =  67.388
Robust  acc:  5825 /  9767 =  59.640
------------------------------------
Accuracies by groups:
0, 0  acc:  5825 /  9767 =  59.640
0, 1  acc:  4992 /  7535 =  66.251
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 13452 / 19962 =  67.388
Robust  acc:  5825 /  9767 =  59.640
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5825 /  9767 =  59.640
0, 1  acc:  4992 /  7535 =  66.251
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 13452 / 19962 =  67.388
Robust  acc:  5825 /  9767 =  59.640
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.936 | Val Loss: 0.006 | Val Acc: 67.539
Training:
Accuracies by groups:
0, 0  acc:  8352 / 14559 =  57.367
0, 1  acc:  4266 /  6601 =  64.627
1, 0  acc: 131993 / 132979 =  99.259
1, 1  acc:  8288 /  8631 =  96.026
--------------------------------------
Average acc: 152899 / 162770 =  93.936
Robust  acc:  8352 / 14559 =  57.367
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5061 /  8535 =  59.297
0, 1  acc:  5322 /  8276 =  64.306
1, 0  acc:  2855 /  2874 =  99.339
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13418 / 19867 =  67.539
Robust  acc:  5061 /  8535 =  59.297
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.181
Robust Acc: 64.074 | Best Acc: 99.315
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  6345 /  9767 =  64.964
0, 1  acc:  4828 /  7535 =  64.074
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 13810 / 19962 =  69.181
Robust  acc:  4828 /  7535 =  64.074
------------------------------------
Accuracies by groups:
0, 0  acc:  6345 /  9767 =  64.964
0, 1  acc:  4828 /  7535 =  64.074
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 13810 / 19962 =  69.181
Robust  acc:  4828 /  7535 =  64.074
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6345 /  9767 =  64.964
0, 1  acc:  4828 /  7535 =  64.074
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 13810 / 19962 =  69.181
Robust  acc:  4828 /  7535 =  64.074
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.079 | Val Loss: 0.007 | Val Acc: 59.591
Training:
Accuracies by groups:
0, 0  acc:  8455 / 14509 =  58.274
0, 1  acc:  4318 /  6607 =  65.355
1, 0  acc: 131923 / 132903 =  99.263
1, 1  acc:  8436 /  8751 =  96.400
--------------------------------------
Average acc: 153132 / 162770 =  94.079
Robust  acc:  8455 / 14509 =  58.274
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4476 /  8535 =  52.443
0, 1  acc:  4315 /  8276 =  52.139
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 11839 / 19867 =  59.591
Robust  acc:  4315 /  8276 =  52.139
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 61.407
Robust Acc: 52.382 | Best Acc: 99.879
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  5655 /  9767 =  57.899
0, 1  acc:  3947 /  7535 =  52.382
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc: 12258 / 19962 =  61.407
Robust  acc:  3947 /  7535 =  52.382
------------------------------------
Accuracies by groups:
0, 0  acc:  5655 /  9767 =  57.899
0, 1  acc:  3947 /  7535 =  52.382
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc: 12258 / 19962 =  61.407
Robust  acc:  3947 /  7535 =  52.382
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5655 /  9767 =  57.899
0, 1  acc:  3947 /  7535 =  52.382
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc: 12258 / 19962 =  61.407
Robust  acc:  3947 /  7535 =  52.382
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.086 | Val Loss: 0.007 | Val Acc: 59.506
Training:
Accuracies by groups:
0, 0  acc:  8338 / 14321 =  58.222
0, 1  acc:  4384 /  6655 =  65.875
1, 0  acc: 132307 / 133335 =  99.229
1, 1  acc:  8115 /  8459 =  95.933
--------------------------------------
Average acc: 153144 / 162770 =  94.086
Robust  acc:  8338 / 14321 =  58.222
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4111 /  8535 =  48.166
0, 1  acc:  4665 /  8276 =  56.368
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11822 / 19867 =  59.506
Robust  acc:  4111 /  8535 =  48.166
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 60.184
Robust Acc: 53.138 | Best Acc: 99.637
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  5190 /  9767 =  53.138
0, 1  acc:  4175 /  7535 =  55.408
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12014 / 19962 =  60.184
Robust  acc:  5190 /  9767 =  53.138
------------------------------------
Accuracies by groups:
0, 0  acc:  5190 /  9767 =  53.138
0, 1  acc:  4175 /  7535 =  55.408
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12014 / 19962 =  60.184
Robust  acc:  5190 /  9767 =  53.138
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5190 /  9767 =  53.138
0, 1  acc:  4175 /  7535 =  55.408
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12014 / 19962 =  60.184
Robust  acc:  5190 /  9767 =  53.138
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.102 | Val Loss: 0.007 | Val Acc: 59.325
Training:
Accuracies by groups:
0, 0  acc:  8538 / 14457 =  59.058
0, 1  acc:  4337 /  6567 =  66.042
1, 0  acc: 131948 / 133083 =  99.147
1, 1  acc:  8347 /  8663 =  96.352
--------------------------------------
Average acc: 153170 / 162770 =  94.102
Robust  acc:  8538 / 14457 =  59.058
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3861 /  8535 =  45.237
0, 1  acc:  4874 /  8276 =  58.893
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 11786 / 19867 =  59.325
Robust  acc:  3861 /  8535 =  45.237
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 59.698
Robust Acc: 51.060 | Best Acc: 99.839
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  4987 /  9767 =  51.060
0, 1  acc:  4279 /  7535 =  56.788
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 11917 / 19962 =  59.698
Robust  acc:  4987 /  9767 =  51.060
------------------------------------
Accuracies by groups:
0, 0  acc:  4987 /  9767 =  51.060
0, 1  acc:  4279 /  7535 =  56.788
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 11917 / 19962 =  59.698
Robust  acc:  4987 /  9767 =  51.060
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4987 /  9767 =  51.060
0, 1  acc:  4279 /  7535 =  56.788
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 11917 / 19962 =  59.698
Robust  acc:  4987 /  9767 =  51.060
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.059 | Val Loss: 0.013 | Val Acc: 17.511
Training:
Accuracies by groups:
0, 0  acc:  8526 / 14502 =  58.792
0, 1  acc:  4218 /  6424 =  65.660
1, 0  acc: 131909 / 133068 =  99.129
1, 1  acc:  8447 /  8776 =  96.251
--------------------------------------
Average acc: 153100 / 162770 =  94.059
Robust  acc:  8526 / 14502 =  58.792
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:   213 /  8535 =   2.496
0, 1  acc:   210 /  8276 =   2.537
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  3479 / 19867 =  17.511
Robust  acc:   213 /  8535 =   2.496
------------------------------------
-------------------------------------------
Avg Test Loss: 0.013 | Avg Test Acc: 15.299
Robust Acc: 2.163 | Best Acc: 100.000
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:   232 /  9767 =   2.375
0, 1  acc:   163 /  7535 =   2.163
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  3054 / 19962 =  15.299
Robust  acc:   163 /  7535 =   2.163
------------------------------------
Accuracies by groups:
0, 0  acc:   232 /  9767 =   2.375
0, 1  acc:   163 /  7535 =   2.163
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  3054 / 19962 =  15.299
Robust  acc:   163 /  7535 =   2.163
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:   232 /  9767 =   2.375
0, 1  acc:   163 /  7535 =   2.163
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  3054 / 19962 =  15.299
Robust  acc:   163 /  7535 =   2.163
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.221 | Val Loss: 0.003 | Val Acc: 93.255
Training:
Accuracies by groups:
0, 0  acc:  8536 / 14354 =  59.468
0, 1  acc:  4301 /  6470 =  66.476
1, 0  acc: 132243 / 133336 =  99.180
1, 1  acc:  8283 /  8610 =  96.202
--------------------------------------
Average acc: 153363 / 162770 =  94.221
Robust  acc:  8536 / 14354 =  59.468
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7911 /  8535 =  92.689
0, 1  acc:  7972 /  8276 =  96.327
1, 0  acc:  2515 /  2874 =  87.509
1, 1  acc:   129 /   182 =  70.879
------------------------------------
Average acc: 18527 / 19867 =  93.255
Robust  acc:   129 /   182 =  70.879
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.979
Robust Acc: 68.889 | Best Acc: 96.417
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  9218 /  9767 =  94.379
0, 1  acc:  7265 /  7535 =  96.417
1, 0  acc:  2153 /  2480 =  86.815
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:   124 /   180 =  68.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9218 /  9767 =  94.379
0, 1  acc:  7265 /  7535 =  96.417
1, 0  acc:  2153 /  2480 =  86.815
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:   124 /   180 =  68.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9218 /  9767 =  94.379
0, 1  acc:  7265 /  7535 =  96.417
1, 0  acc:  2153 /  2480 =  86.815
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:   124 /   180 =  68.889
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.149 | Val Loss: 0.010 | Val Acc: 31.736
Training:
Accuracies by groups:
0, 0  acc:  8714 / 14564 =  59.832
0, 1  acc:  4381 /  6526 =  67.131
1, 0  acc: 131965 / 133132 =  99.123
1, 1  acc:  8187 /  8548 =  95.777
--------------------------------------
Average acc: 153247 / 162770 =  94.149
Robust  acc:  8714 / 14564 =  59.832
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1569 /  8535 =  18.383
0, 1  acc:  1681 /  8276 =  20.312
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  6305 / 19867 =  31.736
Robust  acc:  1569 /  8535 =  18.383
------------------------------------
-------------------------------------------
Avg Test Loss: 0.010 | Avg Test Acc: 30.799
Robust Acc: 19.642 | Best Acc: 100.000
--------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  2009 /  9767 =  20.569
0, 1  acc:  1480 /  7535 =  19.642
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  6148 / 19962 =  30.799
Robust  acc:  1480 /  7535 =  19.642
------------------------------------
Accuracies by groups:
0, 0  acc:  2009 /  9767 =  20.569
0, 1  acc:  1480 /  7535 =  19.642
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  6148 / 19962 =  30.799
Robust  acc:  1480 /  7535 =  19.642
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2009 /  9767 =  20.569
0, 1  acc:  1480 /  7535 =  19.642
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  6148 / 19962 =  30.799
Robust  acc:  1480 /  7535 =  19.642
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.250 | Val Loss: 0.006 | Val Acc: 70.589
Training:
Accuracies by groups:
0, 0  acc:  8689 / 14506 =  59.899
0, 1  acc:  4526 /  6610 =  68.472
1, 0  acc: 132008 / 133126 =  99.160
1, 1  acc:  8188 /  8528 =  96.013
--------------------------------------
Average acc: 153411 / 162770 =  94.250
Robust  acc:  8689 / 14506 =  59.899
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5315 /  8535 =  62.273
0, 1  acc:  5669 /  8276 =  68.499
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14024 / 19867 =  70.589
Robust  acc:  5315 /  8535 =  62.273
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.483
Robust Acc: 67.883 | Best Acc: 99.395
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  6714 /  9767 =  68.742
0, 1  acc:  5115 /  7535 =  67.883
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14469 / 19962 =  72.483
Robust  acc:  5115 /  7535 =  67.883
------------------------------------
Accuracies by groups:
0, 0  acc:  6714 /  9767 =  68.742
0, 1  acc:  5115 /  7535 =  67.883
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14469 / 19962 =  72.483
Robust  acc:  5115 /  7535 =  67.883
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6714 /  9767 =  68.742
0, 1  acc:  5115 /  7535 =  67.883
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14469 / 19962 =  72.483
Robust  acc:  5115 /  7535 =  67.883
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.181 | Val Loss: 0.007 | Val Acc: 58.554
Training:
Accuracies by groups:
0, 0  acc:  8572 / 14443 =  59.351
0, 1  acc:  4475 /  6555 =  68.268
1, 0  acc: 131922 / 133100 =  99.115
1, 1  acc:  8329 /  8672 =  96.045
--------------------------------------
Average acc: 153298 / 162770 =  94.181
Robust  acc:  8572 / 14443 =  59.351
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4105 /  8535 =  48.096
0, 1  acc:  4478 /  8276 =  54.108
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11633 / 19867 =  58.554
Robust  acc:  4105 /  8535 =  48.096
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 60.074
Robust Acc: 53.886 | Best Acc: 99.718
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  5263 /  9767 =  53.886
0, 1  acc:  4079 /  7535 =  54.134
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11992 / 19962 =  60.074
Robust  acc:  5263 /  9767 =  53.886
------------------------------------
Accuracies by groups:
0, 0  acc:  5263 /  9767 =  53.886
0, 1  acc:  4079 /  7535 =  54.134
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11992 / 19962 =  60.074
Robust  acc:  5263 /  9767 =  53.886
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5263 /  9767 =  53.886
0, 1  acc:  4079 /  7535 =  54.134
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11992 / 19962 =  60.074
Robust  acc:  5263 /  9767 =  53.886
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.413 | Val Loss: 0.005 | Val Acc: 77.833
Training:
Accuracies by groups:
0, 0  acc:  8826 / 14473 =  60.983
0, 1  acc:  4471 /  6490 =  68.891
1, 0  acc: 132039 / 133145 =  99.169
1, 1  acc:  8340 /  8662 =  96.283
--------------------------------------
Average acc: 153676 / 162770 =  94.413
Robust  acc:  8826 / 14473 =  60.983
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6016 /  8535 =  70.486
0, 1  acc:  6436 /  8276 =  77.767
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15463 / 19867 =  77.833
Robust  acc:  6016 /  8535 =  70.486
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.516
Robust Acc: 76.543 | Best Acc: 98.508
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  7476 /  9767 =  76.543
0, 1  acc:  5785 /  7535 =  76.775
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15873 / 19962 =  79.516
Robust  acc:  7476 /  9767 =  76.543
------------------------------------
Accuracies by groups:
0, 0  acc:  7476 /  9767 =  76.543
0, 1  acc:  5785 /  7535 =  76.775
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15873 / 19962 =  79.516
Robust  acc:  7476 /  9767 =  76.543
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7476 /  9767 =  76.543
0, 1  acc:  5785 /  7535 =  76.775
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15873 / 19962 =  79.516
Robust  acc:  7476 /  9767 =  76.543
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.269 | Val Loss: 0.003 | Val Acc: 92.732
Training:
Accuracies by groups:
0, 0  acc:  8833 / 14628 =  60.384
0, 1  acc:  4455 /  6495 =  68.591
1, 0  acc: 131878 / 133023 =  99.139
1, 1  acc:  8276 /  8624 =  95.965
--------------------------------------
Average acc: 153442 / 162770 =  94.269
Robust  acc:  8833 / 14628 =  60.384
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7889 /  8535 =  92.431
0, 1  acc:  7906 /  8276 =  95.529
1, 0  acc:  2500 /  2874 =  86.987
1, 1  acc:   128 /   182 =  70.330
------------------------------------
Average acc: 18423 / 19867 =  92.732
Robust  acc:   128 /   182 =  70.330
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.638
Robust Acc: 62.778 | Best Acc: 95.727
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  9230 /  9767 =  94.502
0, 1  acc:  7213 /  7535 =  95.727
1, 0  acc:  2136 /  2480 =  86.129
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18692 / 19962 =  93.638
Robust  acc:   113 /   180 =  62.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9230 /  9767 =  94.502
0, 1  acc:  7213 /  7535 =  95.727
1, 0  acc:  2136 /  2480 =  86.129
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18692 / 19962 =  93.638
Robust  acc:   113 /   180 =  62.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9230 /  9767 =  94.502
0, 1  acc:  7213 /  7535 =  95.727
1, 0  acc:  2136 /  2480 =  86.129
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18692 / 19962 =  93.638
Robust  acc:   113 /   180 =  62.778
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.348 | Val Loss: 0.008 | Val Acc: 52.731
Training:
Accuracies by groups:
0, 0  acc:  8909 / 14523 =  61.344
0, 1  acc:  4512 /  6520 =  69.202
1, 0  acc: 131857 / 133079 =  99.082
1, 1  acc:  8292 /  8648 =  95.883
--------------------------------------
Average acc: 153570 / 162770 =  94.348
Robust  acc:  8909 / 14523 =  61.344
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3900 /  8535 =  45.694
0, 1  acc:  3524 /  8276 =  42.581
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10476 / 19867 =  52.731
Robust  acc:  3524 /  8276 =  42.581
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 54.519
Robust Acc: 42.853 | Best Acc: 99.879
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  4999 /  9767 =  51.183
0, 1  acc:  3229 /  7535 =  42.853
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10883 / 19962 =  54.519
Robust  acc:  3229 /  7535 =  42.853
------------------------------------
Accuracies by groups:
0, 0  acc:  4999 /  9767 =  51.183
0, 1  acc:  3229 /  7535 =  42.853
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10883 / 19962 =  54.519
Robust  acc:  3229 /  7535 =  42.853
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4999 /  9767 =  51.183
0, 1  acc:  3229 /  7535 =  42.853
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10883 / 19962 =  54.519
Robust  acc:  3229 /  7535 =  42.853
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.379 | Val Loss: 0.004 | Val Acc: 88.317
Training:
Accuracies by groups:
0, 0  acc:  8799 / 14396 =  61.121
0, 1  acc:  4558 /  6602 =  69.040
1, 0  acc: 131956 / 133115 =  99.129
1, 1  acc:  8307 /  8657 =  95.957
--------------------------------------
Average acc: 153620 / 162770 =  94.379
Robust  acc:  8799 / 14396 =  61.121
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7133 /  8535 =  83.574
0, 1  acc:  7462 /  8276 =  90.164
1, 0  acc:  2785 /  2874 =  96.903
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17546 / 19867 =  88.317
Robust  acc:  7133 /  8535 =  83.574
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 89.620
Robust Acc: 86.667 | Best Acc: 95.806
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  8524 /  9767 =  87.273
0, 1  acc:  6834 /  7535 =  90.697
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17890 / 19962 =  89.620
Robust  acc:   156 /   180 =  86.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8524 /  9767 =  87.273
0, 1  acc:  6834 /  7535 =  90.697
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17890 / 19962 =  89.620
Robust  acc:   156 /   180 =  86.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8524 /  9767 =  87.273
0, 1  acc:  6834 /  7535 =  90.697
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17890 / 19962 =  89.620
Robust  acc:   156 /   180 =  86.667
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.267 | Val Loss: 0.003 | Val Acc: 94.232
Training:
Accuracies by groups:
0, 0  acc:  8927 / 14716 =  60.662
0, 1  acc:  4481 /  6501 =  68.928
1, 0  acc: 131799 / 132969 =  99.120
1, 1  acc:  8231 /  8584 =  95.888
--------------------------------------
Average acc: 153438 / 162770 =  94.267
Robust  acc:  8927 / 14716 =  60.662
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8046 /  8535 =  94.271
0, 1  acc:  8115 /  8276 =  98.055
1, 0  acc:  2459 /  2874 =  85.560
1, 1  acc:   101 /   182 =  55.495
------------------------------------
Average acc: 18721 / 19867 =  94.232
Robust  acc:   101 /   182 =  55.495
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.640
Robust Acc: 52.222 | Best Acc: 97.996
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  9340 /  9767 =  95.628
0, 1  acc:  7384 /  7535 =  97.996
1, 0  acc:  2074 /  2480 =  83.629
1, 1  acc:    94 /   180 =  52.222
------------------------------------
Average acc: 18892 / 19962 =  94.640
Robust  acc:    94 /   180 =  52.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9340 /  9767 =  95.628
0, 1  acc:  7384 /  7535 =  97.996
1, 0  acc:  2074 /  2480 =  83.629
1, 1  acc:    94 /   180 =  52.222
------------------------------------
Average acc: 18892 / 19962 =  94.640
Robust  acc:    94 /   180 =  52.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9340 /  9767 =  95.628
0, 1  acc:  7384 /  7535 =  97.996
1, 0  acc:  2074 /  2480 =  83.629
1, 1  acc:    94 /   180 =  52.222
------------------------------------
Average acc: 18892 / 19962 =  94.640
Robust  acc:    94 /   180 =  52.222
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed10.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed10.pt
