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: 7
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=7-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.862 | Val Loss: 0.004 | Val Acc: 77.958
Training:
Accuracies by groups:
0, 0  acc:  5815 / 14422 =  40.320
0, 1  acc:  2973 /  6652 =  44.693
1, 0  acc: 130888 / 133072 =  98.359
1, 1  acc:  8220 /  8624 =  95.315
--------------------------------------
Average acc: 147896 / 162770 =  90.862
Robust  acc:  5815 / 14422 =  40.320
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6028 /  8535 =  70.627
0, 1  acc:  6438 /  8276 =  77.791
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 15488 / 19867 =  77.958
Robust  acc:  6028 /  8535 =  70.627
------------------------------------
New max robust acc: 70.62683069712948
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed7.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed7.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 80.007
Robust Acc: 76.308 | Best Acc: 98.992
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7453 /  9767 =  76.308
0, 1  acc:  5892 /  7535 =  78.195
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15971 / 19962 =  80.007
Robust  acc:  7453 /  9767 =  76.308
------------------------------------
Accuracies by groups:
0, 0  acc:  7453 /  9767 =  76.308
0, 1  acc:  5892 /  7535 =  78.195
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15971 / 19962 =  80.007
Robust  acc:  7453 /  9767 =  76.308
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7453 /  9767 =  76.308
0, 1  acc:  5892 /  7535 =  78.195
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15971 / 19962 =  80.007
Robust  acc:  7453 /  9767 =  76.308
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.457 | Val Loss: 0.003 | Val Acc: 84.200
Training:
Accuracies by groups:
0, 0  acc:  9283 / 14706 =  63.124
0, 1  acc:  4751 /  6540 =  72.645
1, 0  acc: 131613 / 132889 =  99.040
1, 1  acc:  8100 /  8635 =  93.804
--------------------------------------
Average acc: 153747 / 162770 =  94.457
Robust  acc:  9283 / 14706 =  63.124
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6531 /  8535 =  76.520
0, 1  acc:  7183 /  8276 =  86.793
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16728 / 19867 =  84.200
Robust  acc:  6531 /  8535 =  76.520
------------------------------------
New max robust acc: 76.52021089630932
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed7.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed7.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.683
Robust Acc: 81.478 | Best Acc: 98.629
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7958 /  9767 =  81.478
0, 1  acc:  6534 /  7535 =  86.715
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17104 / 19962 =  85.683
Robust  acc:  7958 /  9767 =  81.478
------------------------------------
Accuracies by groups:
0, 0  acc:  7958 /  9767 =  81.478
0, 1  acc:  6534 /  7535 =  86.715
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17104 / 19962 =  85.683
Robust  acc:  7958 /  9767 =  81.478
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7958 /  9767 =  81.478
0, 1  acc:  6534 /  7535 =  86.715
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17104 / 19962 =  85.683
Robust  acc:  7958 /  9767 =  81.478
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.315 | Val Loss: 0.003 | Val Acc: 85.000
Training:
Accuracies by groups:
0, 0  acc:  9454 / 14184 =  66.653
0, 1  acc:  5207 /  6497 =  80.145
1, 0  acc: 131964 / 133129 =  99.125
1, 1  acc:  8520 /  8960 =  95.089
--------------------------------------
Average acc: 155145 / 162770 =  95.315
Robust  acc:  9454 / 14184 =  66.653
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6540 /  8535 =  76.626
0, 1  acc:  7331 /  8276 =  88.581
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16887 / 19867 =  85.000
Robust  acc:  6540 /  8535 =  76.626
------------------------------------
New max robust acc: 76.6256590509666
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed7.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed7.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.359
Robust Acc: 81.673 | Best Acc: 98.589
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  7977 /  9767 =  81.673
0, 1  acc:  6653 /  7535 =  88.295
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17239 / 19962 =  86.359
Robust  acc:  7977 /  9767 =  81.673
------------------------------------
Accuracies by groups:
0, 0  acc:  7977 /  9767 =  81.673
0, 1  acc:  6653 /  7535 =  88.295
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17239 / 19962 =  86.359
Robust  acc:  7977 /  9767 =  81.673
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7977 /  9767 =  81.673
0, 1  acc:  6653 /  7535 =  88.295
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17239 / 19962 =  86.359
Robust  acc:  7977 /  9767 =  81.673
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.789 | Val Loss: 0.002 | Val Acc: 87.598
Training:
Accuracies by groups:
0, 0  acc: 10192 / 14574 =  69.933
0, 1  acc:  5324 /  6400 =  83.188
1, 0  acc: 132157 / 133163 =  99.245
1, 1  acc:  8242 /  8633 =  95.471
--------------------------------------
Average acc: 155915 / 162770 =  95.789
Robust  acc: 10192 / 14574 =  69.933
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6842 /  8535 =  80.164
0, 1  acc:  7557 /  8276 =  91.312
1, 0  acc:  2831 /  2874 =  98.504
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17403 / 19867 =  87.598
Robust  acc:  6842 /  8535 =  80.164
------------------------------------
New max robust acc: 80.16403046280024
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed7.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed7.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.523
Robust Acc: 84.304 | Best Acc: 98.105
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8234 /  9767 =  84.304
0, 1  acc:  6842 /  7535 =  90.803
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17671 / 19962 =  88.523
Robust  acc:  8234 /  9767 =  84.304
------------------------------------
Accuracies by groups:
0, 0  acc:  8234 /  9767 =  84.304
0, 1  acc:  6842 /  7535 =  90.803
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17671 / 19962 =  88.523
Robust  acc:  8234 /  9767 =  84.304
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8234 /  9767 =  84.304
0, 1  acc:  6842 /  7535 =  90.803
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17671 / 19962 =  88.523
Robust  acc:  8234 /  9767 =  84.304
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.294 | Val Loss: 0.002 | Val Acc: 89.092
Training:
Accuracies by groups:
0, 0  acc: 10102 / 14157 =  71.357
0, 1  acc:  5543 /  6432 =  86.178
1, 0  acc: 132654 / 133441 =  99.410
1, 1  acc:  8439 /  8740 =  96.556
--------------------------------------
Average acc: 156738 / 162770 =  96.294
Robust  acc: 10102 / 14157 =  71.357
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7006 /  8535 =  82.086
0, 1  acc:  7700 /  8276 =  93.040
1, 0  acc:  2824 /  2874 =  98.260
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17700 / 19867 =  89.092
Robust  acc:  7006 /  8535 =  82.086
------------------------------------
New max robust acc: 82.0855301698887
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed7.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed7.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.730
Robust Acc: 85.543 | Best Acc: 97.823
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8355 /  9767 =  85.543
0, 1  acc:  6976 /  7535 =  92.581
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17912 / 19962 =  89.730
Robust  acc:  8355 /  9767 =  85.543
------------------------------------
Accuracies by groups:
0, 0  acc:  8355 /  9767 =  85.543
0, 1  acc:  6976 /  7535 =  92.581
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17912 / 19962 =  89.730
Robust  acc:  8355 /  9767 =  85.543
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8355 /  9767 =  85.543
0, 1  acc:  6976 /  7535 =  92.581
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17912 / 19962 =  89.730
Robust  acc:  8355 /  9767 =  85.543
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.797 | Val Loss: 0.002 | Val Acc: 89.908
Training:
Accuracies by groups:
0, 0  acc: 10763 / 14435 =  74.562
0, 1  acc:  5811 /  6599 =  88.059
1, 0  acc: 132653 / 133210 =  99.582
1, 1  acc:  8329 /  8526 =  97.689
--------------------------------------
Average acc: 157556 / 162770 =  96.797
Robust  acc: 10763 / 14435 =  74.562
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7094 /  8535 =  83.117
0, 1  acc:  7778 /  8276 =  93.983
1, 0  acc:  2822 /  2874 =  98.191
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17862 / 19867 =  89.908
Robust  acc:  7094 /  8535 =  83.117
------------------------------------
New max robust acc: 83.11657879320445
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed7.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed7.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.382
Robust Acc: 85.556 | Best Acc: 97.742
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8416 /  9767 =  86.168
0, 1  acc:  7048 /  7535 =  93.537
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18042 / 19962 =  90.382
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8416 /  9767 =  86.168
0, 1  acc:  7048 /  7535 =  93.537
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18042 / 19962 =  90.382
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8416 /  9767 =  86.168
0, 1  acc:  7048 /  7535 =  93.537
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18042 / 19962 =  90.382
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.245 | Val Loss: 0.002 | Val Acc: 90.371
Training:
Accuracies by groups:
0, 0  acc: 11178 / 14507 =  77.052
0, 1  acc:  5887 /  6574 =  89.550
1, 0  acc: 132651 / 133020 =  99.723
1, 1  acc:  8569 /  8669 =  98.846
--------------------------------------
Average acc: 158285 / 162770 =  97.245
Robust  acc: 11178 / 14507 =  77.052
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7132 /  8535 =  83.562
0, 1  acc:  7843 /  8276 =  94.768
1, 0  acc:  2816 /  2874 =  97.982
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17954 / 19867 =  90.371
Robust  acc:  7132 /  8535 =  83.562
------------------------------------
New max robust acc: 83.56180433509081
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed7.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed7.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.908
Robust Acc: 83.889 | Best Acc: 97.339
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8472 /  9767 =  86.741
0, 1  acc:  7110 /  7535 =  94.360
1, 0  acc:  2414 /  2480 =  97.339
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18147 / 19962 =  90.908
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8472 /  9767 =  86.741
0, 1  acc:  7110 /  7535 =  94.360
1, 0  acc:  2414 /  2480 =  97.339
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18147 / 19962 =  90.908
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8472 /  9767 =  86.741
0, 1  acc:  7110 /  7535 =  94.360
1, 0  acc:  2414 /  2480 =  97.339
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18147 / 19962 =  90.908
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.775 | Val Loss: 0.002 | Val Acc: 91.770
Training:
Accuracies by groups:
0, 0  acc: 11697 / 14543 =  80.430
0, 1  acc:  5940 /  6494 =  91.469
1, 0  acc: 132982 / 133165 =  99.863
1, 1  acc:  8530 /  8568 =  99.556
--------------------------------------
Average acc: 159149 / 162770 =  97.775
Robust  acc: 11697 / 14543 =  80.430
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7352 /  8535 =  86.139
0, 1  acc:  7939 /  8276 =  95.928
1, 0  acc:  2785 /  2874 =  96.903
1, 1  acc:   156 /   182 =  85.714
------------------------------------
Average acc: 18232 / 19867 =  91.770
Robust  acc:   156 /   182 =  85.714
------------------------------------
New max robust acc: 85.71428571428571
debias model - Saving best checkpoint at epoch 7
replace: True
-> Updating checkpoint debias-wga-best_seed7.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed7.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.155
Robust Acc: 79.444 | Best Acc: 96.411
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8670 /  9767 =  88.768
0, 1  acc:  7192 /  7535 =  95.448
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18396 / 19962 =  92.155
Robust  acc:   143 /   180 =  79.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8670 /  9767 =  88.768
0, 1  acc:  7192 /  7535 =  95.448
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18396 / 19962 =  92.155
Robust  acc:   143 /   180 =  79.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8670 /  9767 =  88.768
0, 1  acc:  7192 /  7535 =  95.448
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18396 / 19962 =  92.155
Robust  acc:   143 /   180 =  79.444
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.258 | Val Loss: 0.001 | Val Acc: 93.290
Training:
Accuracies by groups:
0, 0  acc: 12223 / 14526 =  84.146
0, 1  acc:  6165 /  6574 =  93.779
1, 0  acc: 133029 / 133125 =  99.928
1, 1  acc:  8517 /  8545 =  99.672
--------------------------------------
Average acc: 159934 / 162770 =  98.258
Robust  acc: 12223 / 14526 =  84.146
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7640 /  8535 =  89.514
0, 1  acc:  8025 /  8276 =  96.967
1, 0  acc:  2720 /  2874 =  94.642
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 18534 / 19867 =  93.290
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.498
Robust Acc: 75.556 | Best Acc: 96.457
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8938 /  9767 =  91.512
0, 1  acc:  7268 /  7535 =  96.457
1, 0  acc:  2322 /  2480 =  93.629
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18664 / 19962 =  93.498
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8938 /  9767 =  91.512
0, 1  acc:  7268 /  7535 =  96.457
1, 0  acc:  2322 /  2480 =  93.629
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18664 / 19962 =  93.498
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8938 /  9767 =  91.512
0, 1  acc:  7268 /  7535 =  96.457
1, 0  acc:  2322 /  2480 =  93.629
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18664 / 19962 =  93.498
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.432 | Val Loss: 0.002 | Val Acc: 92.505
Training:
Accuracies by groups:
0, 0  acc: 12527 / 14613 =  85.725
0, 1  acc:  6238 /  6590 =  94.659
1, 0  acc: 132783 / 132877 =  99.929
1, 1  acc:  8669 /  8690 =  99.758
--------------------------------------
Average acc: 160217 / 162770 =  98.432
Robust  acc: 12527 / 14613 =  85.725
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7531 /  8535 =  88.237
0, 1  acc:  7986 /  8276 =  96.496
1, 0  acc:  2718 /  2874 =  94.572
1, 1  acc:   143 /   182 =  78.571
------------------------------------
Average acc: 18378 / 19867 =  92.505
Robust  acc:   143 /   182 =  78.571
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.922
Robust Acc: 76.111 | Best Acc: 96.085
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8839 /  9767 =  90.499
0, 1  acc:  7240 /  7535 =  96.085
1, 0  acc:  2333 /  2480 =  94.073
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18549 / 19962 =  92.922
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8839 /  9767 =  90.499
0, 1  acc:  7240 /  7535 =  96.085
1, 0  acc:  2333 /  2480 =  94.073
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18549 / 19962 =  92.922
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8839 /  9767 =  90.499
0, 1  acc:  7240 /  7535 =  96.085
1, 0  acc:  2333 /  2480 =  94.073
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18549 / 19962 =  92.922
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.481 | Val Loss: 0.002 | Val Acc: 92.812
Training:
Accuracies by groups:
0, 0  acc: 12471 / 14402 =  86.592
0, 1  acc:  6242 /  6576 =  94.921
1, 0  acc: 133024 / 133185 =  99.879
1, 1  acc:  8561 /  8607 =  99.466
--------------------------------------
Average acc: 160298 / 162770 =  98.481
Robust  acc: 12471 / 14402 =  86.592
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7557 /  8535 =  88.541
0, 1  acc:  8018 /  8276 =  96.883
1, 0  acc:  2721 /  2874 =  94.676
1, 1  acc:   143 /   182 =  78.571
------------------------------------
Average acc: 18439 / 19867 =  92.812
Robust  acc:   143 /   182 =  78.571
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.162
Robust Acc: 76.111 | Best Acc: 96.549
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8847 /  9767 =  90.581
0, 1  acc:  7275 /  7535 =  96.549
1, 0  acc:  2338 /  2480 =  94.274
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18597 / 19962 =  93.162
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8847 /  9767 =  90.581
0, 1  acc:  7275 /  7535 =  96.549
1, 0  acc:  2338 /  2480 =  94.274
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18597 / 19962 =  93.162
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8847 /  9767 =  90.581
0, 1  acc:  7275 /  7535 =  96.549
1, 0  acc:  2338 /  2480 =  94.274
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18597 / 19962 =  93.162
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.232 | Val Loss: 0.002 | Val Acc: 91.916
Training:
Accuracies by groups:
0, 0  acc: 12376 / 14465 =  85.558
0, 1  acc:  6072 /  6462 =  93.965
1, 0  acc: 132840 / 133162 =  99.758
1, 1  acc:  8604 /  8681 =  99.113
--------------------------------------
Average acc: 159892 / 162770 =  98.232
Robust  acc: 12376 / 14465 =  85.558
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7451 /  8535 =  87.299
0, 1  acc:  7902 /  8276 =  95.481
1, 0  acc:  2750 /  2874 =  95.685
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 18261 / 19867 =  91.916
Robust  acc:   158 /   182 =  86.813
------------------------------------
New max robust acc: 86.81318681318682
debias model - Saving best checkpoint at epoch 11
replace: True
-> Updating checkpoint debias-wga-best_seed7.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed7.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.190
Robust Acc: 78.889 | Best Acc: 95.242
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8758 /  9767 =  89.669
0, 1  acc:  7141 /  7535 =  94.771
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18403 / 19962 =  92.190
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8758 /  9767 =  89.669
0, 1  acc:  7141 /  7535 =  94.771
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18403 / 19962 =  92.190
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8758 /  9767 =  89.669
0, 1  acc:  7141 /  7535 =  94.771
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18403 / 19962 =  92.190
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.843 | Val Loss: 0.002 | Val Acc: 91.816
Training:
Accuracies by groups:
0, 0  acc: 11996 / 14475 =  82.874
0, 1  acc:  6010 /  6481 =  92.733
1, 0  acc: 132760 / 133201 =  99.669
1, 1  acc:  8493 /  8613 =  98.607
--------------------------------------
Average acc: 159259 / 162770 =  97.843
Robust  acc: 11996 / 14475 =  82.874
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7417 /  8535 =  86.901
0, 1  acc:  7910 /  8276 =  95.578
1, 0  acc:  2760 /  2874 =  96.033
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 18241 / 19867 =  91.816
Robust  acc:   154 /   182 =  84.615
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.185
Robust Acc: 75.000 | Best Acc: 95.685
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8724 /  9767 =  89.321
0, 1  acc:  7170 /  7535 =  95.156
1, 0  acc:  2373 /  2480 =  95.685
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18402 / 19962 =  92.185
Robust  acc:   135 /   180 =  75.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8724 /  9767 =  89.321
0, 1  acc:  7170 /  7535 =  95.156
1, 0  acc:  2373 /  2480 =  95.685
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18402 / 19962 =  92.185
Robust  acc:   135 /   180 =  75.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8724 /  9767 =  89.321
0, 1  acc:  7170 /  7535 =  95.156
1, 0  acc:  2373 /  2480 =  95.685
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18402 / 19962 =  92.185
Robust  acc:   135 /   180 =  75.000
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.369 | Val Loss: 0.003 | Val Acc: 85.166
Training:
Accuracies by groups:
0, 0  acc: 11574 / 14466 =  80.008
0, 1  acc:  5837 /  6439 =  90.651
1, 0  acc: 132544 / 133131 =  99.559
1, 1  acc:  8532 /  8734 =  97.687
--------------------------------------
Average acc: 158487 / 162770 =  97.369
Robust  acc: 11574 / 14466 =  80.008
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6550 /  8535 =  76.743
0, 1  acc:  7357 /  8276 =  88.896
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16920 / 19867 =  85.166
Robust  acc:  6550 /  8535 =  76.743
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.559
Robust Acc: 81.499 | Best Acc: 98.589
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  7960 /  9767 =  81.499
0, 1  acc:  6709 /  7535 =  89.038
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17279 / 19962 =  86.559
Robust  acc:  7960 /  9767 =  81.499
------------------------------------
Accuracies by groups:
0, 0  acc:  7960 /  9767 =  81.499
0, 1  acc:  6709 /  7535 =  89.038
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17279 / 19962 =  86.559
Robust  acc:  7960 /  9767 =  81.499
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7960 /  9767 =  81.499
0, 1  acc:  6709 /  7535 =  89.038
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17279 / 19962 =  86.559
Robust  acc:  7960 /  9767 =  81.499
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.873 | Val Loss: 0.002 | Val Acc: 88.775
Training:
Accuracies by groups:
0, 0  acc: 11167 / 14551 =  76.744
0, 1  acc:  5933 /  6592 =  90.003
1, 0  acc: 132218 / 133014 =  99.402
1, 1  acc:  8362 /  8613 =  97.086
--------------------------------------
Average acc: 157680 / 162770 =  96.873
Robust  acc: 11167 / 14551 =  76.744
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6945 /  8535 =  81.371
0, 1  acc:  7700 /  8276 =  93.040
1, 0  acc:  2823 /  2874 =  98.225
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17637 / 19867 =  88.775
Robust  acc:  6945 /  8535 =  81.371
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.490
Robust Acc: 84.765 | Best Acc: 97.621
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8279 /  9767 =  84.765
0, 1  acc:  7008 /  7535 =  93.006
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17864 / 19962 =  89.490
Robust  acc:  8279 /  9767 =  84.765
------------------------------------
Accuracies by groups:
0, 0  acc:  8279 /  9767 =  84.765
0, 1  acc:  7008 /  7535 =  93.006
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17864 / 19962 =  89.490
Robust  acc:  8279 /  9767 =  84.765
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8279 /  9767 =  84.765
0, 1  acc:  7008 /  7535 =  93.006
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17864 / 19962 =  89.490
Robust  acc:  8279 /  9767 =  84.765
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.413 | Val Loss: 0.002 | Val Acc: 91.116
Training:
Accuracies by groups:
0, 0  acc: 10680 / 14432 =  74.002
0, 1  acc:  5847 /  6629 =  88.203
1, 0  acc: 132092 / 133058 =  99.274
1, 1  acc:  8312 /  8651 =  96.081
--------------------------------------
Average acc: 156931 / 162770 =  96.413
Robust  acc: 10680 / 14432 =  74.002
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7329 /  8535 =  85.870
0, 1  acc:  7856 /  8276 =  94.925
1, 0  acc:  2758 /  2874 =  95.964
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 18102 / 19867 =  91.116
Robust  acc:  7329 /  8535 =  85.870
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.454
Robust Acc: 73.333 | Best Acc: 95.323
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8613 /  9767 =  88.185
0, 1  acc:  7147 /  7535 =  94.851
1, 0  acc:  2364 /  2480 =  95.323
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18256 / 19962 =  91.454
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8613 /  9767 =  88.185
0, 1  acc:  7147 /  7535 =  94.851
1, 0  acc:  2364 /  2480 =  95.323
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18256 / 19962 =  91.454
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8613 /  9767 =  88.185
0, 1  acc:  7147 /  7535 =  94.851
1, 0  acc:  2364 /  2480 =  95.323
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18256 / 19962 =  91.454
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.996 | Val Loss: 0.004 | Val Acc: 80.963
Training:
Accuracies by groups:
0, 0  acc: 10193 / 14277 =  71.395
0, 1  acc:  5622 /  6522 =  86.201
1, 0  acc: 132183 / 133337 =  99.135
1, 1  acc:  8254 /  8634 =  95.599
--------------------------------------
Average acc: 156252 / 162770 =  95.996
Robust  acc: 10193 / 14277 =  71.395
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6042 /  8535 =  70.791
0, 1  acc:  7009 /  8276 =  84.691
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16085 / 19867 =  80.963
Robust  acc:  6042 /  8535 =  70.791
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.422
Robust Acc: 76.482 | Best Acc: 99.274
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  7470 /  9767 =  76.482
0, 1  acc:  6356 /  7535 =  84.353
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16453 / 19962 =  82.422
Robust  acc:  7470 /  9767 =  76.482
------------------------------------
Accuracies by groups:
0, 0  acc:  7470 /  9767 =  76.482
0, 1  acc:  6356 /  7535 =  84.353
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16453 / 19962 =  82.422
Robust  acc:  7470 /  9767 =  76.482
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7470 /  9767 =  76.482
0, 1  acc:  6356 /  7535 =  84.353
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16453 / 19962 =  82.422
Robust  acc:  7470 /  9767 =  76.482
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.749 | Val Loss: 0.002 | Val Acc: 94.363
Training:
Accuracies by groups:
0, 0  acc: 10155 / 14458 =  70.238
0, 1  acc:  5535 /  6514 =  84.971
1, 0  acc: 131875 / 133104 =  99.077
1, 1  acc:  8286 /  8694 =  95.307
--------------------------------------
Average acc: 155851 / 162770 =  95.749
Robust  acc: 10155 / 14458 =  70.238
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8037 /  8535 =  94.165
0, 1  acc:  8065 /  8276 =  97.450
1, 0  acc:  2521 /  2874 =  87.717
1, 1  acc:   124 /   182 =  68.132
------------------------------------
Average acc: 18747 / 19867 =  94.363
Robust  acc:   124 /   182 =  68.132
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.780
Robust Acc: 63.333 | Best Acc: 97.319
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  9320 /  9767 =  95.423
0, 1  acc:  7333 /  7535 =  97.319
1, 0  acc:  2153 /  2480 =  86.815
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18920 / 19962 =  94.780
Robust  acc:   114 /   180 =  63.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9320 /  9767 =  95.423
0, 1  acc:  7333 /  7535 =  97.319
1, 0  acc:  2153 /  2480 =  86.815
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18920 / 19962 =  94.780
Robust  acc:   114 /   180 =  63.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9320 /  9767 =  95.423
0, 1  acc:  7333 /  7535 =  97.319
1, 0  acc:  2153 /  2480 =  86.815
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18920 / 19962 =  94.780
Robust  acc:   114 /   180 =  63.333
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.434 | Val Loss: 0.008 | Val Acc: 52.424
Training:
Accuracies by groups:
0, 0  acc:  9709 / 14235 =  68.205
0, 1  acc:  5155 /  6335 =  81.373
1, 0  acc: 132236 / 133514 =  99.043
1, 1  acc:  8238 /  8686 =  94.842
--------------------------------------
Average acc: 155338 / 162770 =  95.434
Robust  acc:  9709 / 14235 =  68.205
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3540 /  8535 =  41.476
0, 1  acc:  3821 /  8276 =  46.170
1, 0  acc:  2872 /  2874 =  99.930
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10415 / 19867 =  52.424
Robust  acc:  3540 /  8535 =  41.476
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 53.632
Robust Acc: 45.654 | Best Acc: 99.960
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  4609 /  9767 =  47.190
0, 1  acc:  3440 /  7535 =  45.654
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10706 / 19962 =  53.632
Robust  acc:  3440 /  7535 =  45.654
------------------------------------
Accuracies by groups:
0, 0  acc:  4609 /  9767 =  47.190
0, 1  acc:  3440 /  7535 =  45.654
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10706 / 19962 =  53.632
Robust  acc:  3440 /  7535 =  45.654
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4609 /  9767 =  47.190
0, 1  acc:  3440 /  7535 =  45.654
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10706 / 19962 =  53.632
Robust  acc:  3440 /  7535 =  45.654
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 94.919 | Val Loss: 0.005 | Val Acc: 75.744
Training:
Accuracies by groups:
0, 0  acc:  9571 / 14526 =  65.889
0, 1  acc:  5213 /  6652 =  78.367
1, 0  acc: 131592 / 132953 =  98.976
1, 1  acc:  8123 /  8639 =  94.027
--------------------------------------
Average acc: 154499 / 162770 =  94.919
Robust  acc:  9571 / 14526 =  65.889
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5874 /  8535 =  68.822
0, 1  acc:  6135 /  8276 =  74.130
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15048 / 19867 =  75.744
Robust  acc:  5874 /  8535 =  68.822
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.723
Robust Acc: 74.094 | Best Acc: 99.315
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  7296 /  9767 =  74.701
0, 1  acc:  5583 /  7535 =  74.094
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15515 / 19962 =  77.723
Robust  acc:  5583 /  7535 =  74.094
------------------------------------
Accuracies by groups:
0, 0  acc:  7296 /  9767 =  74.701
0, 1  acc:  5583 /  7535 =  74.094
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15515 / 19962 =  77.723
Robust  acc:  5583 /  7535 =  74.094
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7296 /  9767 =  74.701
0, 1  acc:  5583 /  7535 =  74.094
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15515 / 19962 =  77.723
Robust  acc:  5583 /  7535 =  74.094
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 94.766 | Val Loss: 0.002 | Val Acc: 93.703
Training:
Accuracies by groups:
0, 0  acc:  9371 / 14591 =  64.225
0, 1  acc:  5058 /  6577 =  76.904
1, 0  acc: 131644 / 132979 =  98.996
1, 1  acc:  8177 /  8623 =  94.828
--------------------------------------
Average acc: 154250 / 162770 =  94.766
Robust  acc:  9371 / 14591 =  64.225
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7952 /  8535 =  93.169
0, 1  acc:  8004 /  8276 =  96.713
1, 0  acc:  2529 /  2874 =  87.996
1, 1  acc:   131 /   182 =  71.978
------------------------------------
Average acc: 18616 / 19867 =  93.703
Robust  acc:   131 /   182 =  71.978
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.475
Robust Acc: 66.111 | Best Acc: 97.160
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  9258 /  9767 =  94.789
0, 1  acc:  7321 /  7535 =  97.160
1, 0  acc:  2161 /  2480 =  87.137
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18859 / 19962 =  94.475
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9258 /  9767 =  94.789
0, 1  acc:  7321 /  7535 =  97.160
1, 0  acc:  2161 /  2480 =  87.137
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18859 / 19962 =  94.475
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9258 /  9767 =  94.789
0, 1  acc:  7321 /  7535 =  97.160
1, 0  acc:  2161 /  2480 =  87.137
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18859 / 19962 =  94.475
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.751 | Val Loss: 0.006 | Val Acc: 64.660
Training:
Accuracies by groups:
0, 0  acc:  9144 / 14349 =  63.726
0, 1  acc:  4949 /  6596 =  75.030
1, 0  acc: 131849 / 133142 =  99.029
1, 1  acc:  8285 /  8683 =  95.416
--------------------------------------
Average acc: 154227 / 162770 =  94.751
Robust  acc:  9144 / 14349 =  63.726
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4712 /  8535 =  55.208
0, 1  acc:  5088 /  8276 =  61.479
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12846 / 19867 =  64.660
Robust  acc:  4712 /  8535 =  55.208
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 66.667
Robust Acc: 61.237 | Best Acc: 99.677
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  5981 /  9767 =  61.237
0, 1  acc:  4677 /  7535 =  62.070
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13308 / 19962 =  66.667
Robust  acc:  5981 /  9767 =  61.237
------------------------------------
Accuracies by groups:
0, 0  acc:  5981 /  9767 =  61.237
0, 1  acc:  4677 /  7535 =  62.070
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13308 / 19962 =  66.667
Robust  acc:  5981 /  9767 =  61.237
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5981 /  9767 =  61.237
0, 1  acc:  4677 /  7535 =  62.070
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13308 / 19962 =  66.667
Robust  acc:  5981 /  9767 =  61.237
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.604 | Val Loss: 0.003 | Val Acc: 86.571
Training:
Accuracies by groups:
0, 0  acc:  9056 / 14438 =  62.723
0, 1  acc:  4831 /  6534 =  73.936
1, 0  acc: 132041 / 133335 =  99.030
1, 1  acc:  8059 /  8463 =  95.226
--------------------------------------
Average acc: 153987 / 162770 =  94.604
Robust  acc:  9056 / 14438 =  62.723
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6877 /  8535 =  80.574
0, 1  acc:  7350 /  8276 =  88.811
1, 0  acc:  2801 /  2874 =  97.460
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17199 / 19867 =  86.571
Robust  acc:  6877 /  8535 =  80.574
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.767
Robust Acc: 84.775 | Best Acc: 97.581
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  8280 /  9767 =  84.775
0, 1  acc:  6659 /  7535 =  88.374
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17520 / 19962 =  87.767
Robust  acc:  8280 /  9767 =  84.775
------------------------------------
Accuracies by groups:
0, 0  acc:  8280 /  9767 =  84.775
0, 1  acc:  6659 /  7535 =  88.374
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17520 / 19962 =  87.767
Robust  acc:  8280 /  9767 =  84.775
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8280 /  9767 =  84.775
0, 1  acc:  6659 /  7535 =  88.374
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17520 / 19962 =  87.767
Robust  acc:  8280 /  9767 =  84.775
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.458 | Val Loss: 0.007 | Val Acc: 59.048
Training:
Accuracies by groups:
0, 0  acc:  9006 / 14518 =  62.033
0, 1  acc:  4798 /  6653 =  72.118
1, 0  acc: 131742 / 132979 =  99.070
1, 1  acc:  8204 /  8620 =  95.174
--------------------------------------
Average acc: 153750 / 162770 =  94.458
Robust  acc:  9006 / 14518 =  62.033
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4242 /  8535 =  49.701
0, 1  acc:  4440 /  8276 =  53.649
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11731 / 19867 =  59.048
Robust  acc:  4242 /  8535 =  49.701
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 60.811
Robust Acc: 54.107 | Best Acc: 99.798
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  5410 /  9767 =  55.391
0, 1  acc:  4077 /  7535 =  54.107
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12139 / 19962 =  60.811
Robust  acc:  4077 /  7535 =  54.107
------------------------------------
Accuracies by groups:
0, 0  acc:  5410 /  9767 =  55.391
0, 1  acc:  4077 /  7535 =  54.107
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12139 / 19962 =  60.811
Robust  acc:  4077 /  7535 =  54.107
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5410 /  9767 =  55.391
0, 1  acc:  4077 /  7535 =  54.107
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12139 / 19962 =  60.811
Robust  acc:  4077 /  7535 =  54.107
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.505 | Val Loss: 0.004 | Val Acc: 82.549
Training:
Accuracies by groups:
0, 0  acc:  8906 / 14382 =  61.925
0, 1  acc:  4772 /  6625 =  72.030
1, 0  acc: 131810 / 133073 =  99.051
1, 1  acc:  8338 /  8690 =  95.949
--------------------------------------
Average acc: 153826 / 162770 =  94.505
Robust  acc:  8906 / 14382 =  61.925
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6526 /  8535 =  76.462
0, 1  acc:  6898 /  8276 =  83.349
1, 0  acc:  2808 /  2874 =  97.704
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 16400 / 19867 =  82.549
Robust  acc:  6526 /  8535 =  76.462
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.506
Robust Acc: 81.745 | Best Acc: 97.500
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  7984 /  9767 =  81.745
0, 1  acc:  6306 /  7535 =  83.689
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 16869 / 19962 =  84.506
Robust  acc:  7984 /  9767 =  81.745
------------------------------------
Accuracies by groups:
0, 0  acc:  7984 /  9767 =  81.745
0, 1  acc:  6306 /  7535 =  83.689
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 16869 / 19962 =  84.506
Robust  acc:  7984 /  9767 =  81.745
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7984 /  9767 =  81.745
0, 1  acc:  6306 /  7535 =  83.689
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 16869 / 19962 =  84.506
Robust  acc:  7984 /  9767 =  81.745
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.334 | Val Loss: 0.006 | Val Acc: 64.066
Training:
Accuracies by groups:
0, 0  acc:  8816 / 14517 =  60.729
0, 1  acc:  4566 /  6507 =  70.171
1, 0  acc: 132131 / 133348 =  99.087
1, 1  acc:  8035 /  8398 =  95.678
--------------------------------------
Average acc: 153548 / 162770 =  94.334
Robust  acc:  8816 / 14517 =  60.729
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4557 /  8535 =  53.392
0, 1  acc:  5122 /  8276 =  61.890
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12728 / 19867 =  64.066
Robust  acc:  4557 /  8535 =  53.392
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.795
Robust Acc: 59.353 | Best Acc: 99.718
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  5797 /  9767 =  59.353
0, 1  acc:  4687 /  7535 =  62.203
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13134 / 19962 =  65.795
Robust  acc:  5797 /  9767 =  59.353
------------------------------------
Accuracies by groups:
0, 0  acc:  5797 /  9767 =  59.353
0, 1  acc:  4687 /  7535 =  62.203
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13134 / 19962 =  65.795
Robust  acc:  5797 /  9767 =  59.353
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5797 /  9767 =  59.353
0, 1  acc:  4687 /  7535 =  62.203
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13134 / 19962 =  65.795
Robust  acc:  5797 /  9767 =  59.353
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.189 | Val Loss: 0.006 | Val Acc: 66.960
Training:
Accuracies by groups:
0, 0  acc:  8448 / 14429 =  58.549
0, 1  acc:  4500 /  6498 =  69.252
1, 0  acc: 132149 / 133256 =  99.169
1, 1  acc:  8215 /  8587 =  95.668
--------------------------------------
Average acc: 153312 / 162770 =  94.189
Robust  acc:  8448 / 14429 =  58.549
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4790 /  8535 =  56.122
0, 1  acc:  5468 /  8276 =  66.071
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13303 / 19867 =  66.960
Robust  acc:  4790 /  8535 =  56.122
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.550
Robust Acc: 61.861 | Best Acc: 99.677
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  6042 /  9767 =  61.861
0, 1  acc:  4994 /  7535 =  66.277
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13684 / 19962 =  68.550
Robust  acc:  6042 /  9767 =  61.861
------------------------------------
Accuracies by groups:
0, 0  acc:  6042 /  9767 =  61.861
0, 1  acc:  4994 /  7535 =  66.277
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13684 / 19962 =  68.550
Robust  acc:  6042 /  9767 =  61.861
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6042 /  9767 =  61.861
0, 1  acc:  4994 /  7535 =  66.277
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13684 / 19962 =  68.550
Robust  acc:  6042 /  9767 =  61.861
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.191 | Val Loss: 0.003 | Val Acc: 88.906
Training:
Accuracies by groups:
0, 0  acc:  8206 / 14271 =  57.501
0, 1  acc:  4283 /  6418 =  66.734
1, 0  acc: 132630 / 133596 =  99.277
1, 1  acc:  8195 /  8485 =  96.582
--------------------------------------
Average acc: 153314 / 162770 =  94.191
Robust  acc:  8206 / 14271 =  57.501
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7306 /  8535 =  85.600
0, 1  acc:  7480 /  8276 =  90.382
1, 0  acc:  2721 /  2874 =  94.676
1, 1  acc:   156 /   182 =  85.714
------------------------------------
Average acc: 17663 / 19867 =  88.906
Robust  acc:  7306 /  8535 =  85.600
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.911
Robust Acc: 82.778 | Best Acc: 93.145
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  8662 /  9767 =  88.686
0, 1  acc:  6827 /  7535 =  90.604
1, 0  acc:  2310 /  2480 =  93.145
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17948 / 19962 =  89.911
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8662 /  9767 =  88.686
0, 1  acc:  6827 /  7535 =  90.604
1, 0  acc:  2310 /  2480 =  93.145
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17948 / 19962 =  89.911
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8662 /  9767 =  88.686
0, 1  acc:  6827 /  7535 =  90.604
1, 0  acc:  2310 /  2480 =  93.145
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17948 / 19962 =  89.911
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.021 | Val Loss: 0.007 | Val Acc: 59.813
Training:
Accuracies by groups:
0, 0  acc:  8224 / 14481 =  56.792
0, 1  acc:  4344 /  6590 =  65.918
1, 0  acc: 132200 / 133155 =  99.283
1, 1  acc:  8270 /  8544 =  96.793
--------------------------------------
Average acc: 153038 / 162770 =  94.021
Robust  acc:  8224 / 14481 =  56.792
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3979 /  8535 =  46.620
0, 1  acc:  4853 /  8276 =  58.639
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11883 / 19867 =  59.813
Robust  acc:  3979 /  8535 =  46.620
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 61.512
Robust Acc: 52.923 | Best Acc: 99.637
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  5169 /  9767 =  52.923
0, 1  acc:  4461 /  7535 =  59.204
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12279 / 19962 =  61.512
Robust  acc:  5169 /  9767 =  52.923
------------------------------------
Accuracies by groups:
0, 0  acc:  5169 /  9767 =  52.923
0, 1  acc:  4461 /  7535 =  59.204
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12279 / 19962 =  61.512
Robust  acc:  5169 /  9767 =  52.923
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5169 /  9767 =  52.923
0, 1  acc:  4461 /  7535 =  59.204
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12279 / 19962 =  61.512
Robust  acc:  5169 /  9767 =  52.923
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 94.021 | Val Loss: 0.005 | Val Acc: 72.875
Training:
Accuracies by groups:
0, 0  acc:  8390 / 14589 =  57.509
0, 1  acc:  4268 /  6587 =  64.794
1, 0  acc: 132115 / 133009 =  99.328
1, 1  acc:  8265 /  8585 =  96.273
--------------------------------------
Average acc: 153038 / 162770 =  94.021
Robust  acc:  8390 / 14589 =  57.509
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5443 /  8535 =  63.773
0, 1  acc:  5989 /  8276 =  72.366
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14478 / 19867 =  72.875
Robust  acc:  5443 /  8535 =  63.773
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.118
Robust Acc: 69.694 | Best Acc: 99.516
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  6807 /  9767 =  69.694
0, 1  acc:  5544 /  7535 =  73.577
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14995 / 19962 =  75.118
Robust  acc:  6807 /  9767 =  69.694
------------------------------------
Accuracies by groups:
0, 0  acc:  6807 /  9767 =  69.694
0, 1  acc:  5544 /  7535 =  73.577
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14995 / 19962 =  75.118
Robust  acc:  6807 /  9767 =  69.694
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6807 /  9767 =  69.694
0, 1  acc:  5544 /  7535 =  73.577
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14995 / 19962 =  75.118
Robust  acc:  6807 /  9767 =  69.694
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 94.030 | Val Loss: 0.005 | Val Acc: 72.583
Training:
Accuracies by groups:
0, 0  acc:  8258 / 14510 =  56.912
0, 1  acc:  4306 /  6597 =  65.272
1, 0  acc: 132030 / 132927 =  99.325
1, 1  acc:  8458 /  8736 =  96.818
--------------------------------------
Average acc: 153052 / 162770 =  94.030
Robust  acc:  8258 / 14510 =  56.912
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5884 /  8535 =  68.940
0, 1  acc:  5523 /  8276 =  66.735
1, 0  acc:  2837 /  2874 =  98.713
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 14420 / 19867 =  72.583
Robust  acc:  5523 /  8276 =  66.735
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.787
Robust Acc: 68.202 | Best Acc: 98.306
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  7184 /  9767 =  73.554
0, 1  acc:  5139 /  7535 =  68.202
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 14929 / 19962 =  74.787
Robust  acc:  5139 /  7535 =  68.202
------------------------------------
Accuracies by groups:
0, 0  acc:  7184 /  9767 =  73.554
0, 1  acc:  5139 /  7535 =  68.202
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 14929 / 19962 =  74.787
Robust  acc:  5139 /  7535 =  68.202
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7184 /  9767 =  73.554
0, 1  acc:  5139 /  7535 =  68.202
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 14929 / 19962 =  74.787
Robust  acc:  5139 /  7535 =  68.202
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.977 | Val Loss: 0.007 | Val Acc: 56.818
Training:
Accuracies by groups:
0, 0  acc:  8038 / 14363 =  55.963
0, 1  acc:  4186 /  6504 =  64.360
1, 0  acc: 132381 / 133250 =  99.348
1, 1  acc:  8361 /  8653 =  96.625
--------------------------------------
Average acc: 152966 / 162770 =  93.977
Robust  acc:  8038 / 14363 =  55.963
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4047 /  8535 =  47.417
0, 1  acc:  4190 /  8276 =  50.628
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11288 / 19867 =  56.818
Robust  acc:  4047 /  8535 =  47.417
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 58.451
Robust Acc: 50.962 | Best Acc: 99.839
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  5174 /  9767 =  52.974
0, 1  acc:  3840 /  7535 =  50.962
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11668 / 19962 =  58.451
Robust  acc:  3840 /  7535 =  50.962
------------------------------------
Accuracies by groups:
0, 0  acc:  5174 /  9767 =  52.974
0, 1  acc:  3840 /  7535 =  50.962
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11668 / 19962 =  58.451
Robust  acc:  3840 /  7535 =  50.962
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5174 /  9767 =  52.974
0, 1  acc:  3840 /  7535 =  50.962
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11668 / 19962 =  58.451
Robust  acc:  3840 /  7535 =  50.962
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.988 | Val Loss: 0.007 | Val Acc: 54.276
Training:
Accuracies by groups:
0, 0  acc:  7933 / 14314 =  55.421
0, 1  acc:  4149 /  6495 =  63.880
1, 0  acc: 132619 / 133403 =  99.412
1, 1  acc:  8283 /  8558 =  96.787
--------------------------------------
Average acc: 152984 / 162770 =  93.988
Robust  acc:  7933 / 14314 =  55.421
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3145 /  8535 =  36.848
0, 1  acc:  4587 /  8276 =  55.425
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 10783 / 19867 =  54.276
Robust  acc:  3145 /  8535 =  36.848
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 54.253
Robust Acc: 41.886 | Best Acc: 99.879
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  4091 /  9767 =  41.886
0, 1  acc:  4086 /  7535 =  54.227
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 10830 / 19962 =  54.253
Robust  acc:  4091 /  9767 =  41.886
------------------------------------
Accuracies by groups:
0, 0  acc:  4091 /  9767 =  41.886
0, 1  acc:  4086 /  7535 =  54.227
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 10830 / 19962 =  54.253
Robust  acc:  4091 /  9767 =  41.886
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4091 /  9767 =  41.886
0, 1  acc:  4086 /  7535 =  54.227
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 10830 / 19962 =  54.253
Robust  acc:  4091 /  9767 =  41.886
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.949 | Val Loss: 0.005 | Val Acc: 73.952
Training:
Accuracies by groups:
0, 0  acc:  8130 / 14507 =  56.042
0, 1  acc:  4247 /  6599 =  64.358
1, 0  acc: 132200 / 133017 =  99.386
1, 1  acc:  8343 /  8647 =  96.484
--------------------------------------
Average acc: 152920 / 162770 =  93.949
Robust  acc:  8130 / 14507 =  56.042
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5428 /  8535 =  63.597
0, 1  acc:  6225 /  8276 =  75.217
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 14692 / 19867 =  73.952
Robust  acc:  5428 /  8535 =  63.597
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.290
Robust Acc: 69.827 | Best Acc: 99.516
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  6820 /  9767 =  69.827
0, 1  acc:  5768 /  7535 =  76.549
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15229 / 19962 =  76.290
Robust  acc:  6820 /  9767 =  69.827
------------------------------------
Accuracies by groups:
0, 0  acc:  6820 /  9767 =  69.827
0, 1  acc:  5768 /  7535 =  76.549
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15229 / 19962 =  76.290
Robust  acc:  6820 /  9767 =  69.827
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6820 /  9767 =  69.827
0, 1  acc:  5768 /  7535 =  76.549
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15229 / 19962 =  76.290
Robust  acc:  6820 /  9767 =  69.827
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.981 | Val Loss: 0.004 | Val Acc: 90.124
Training:
Accuracies by groups:
0, 0  acc:  8136 / 14439 =  56.347
0, 1  acc:  4171 /  6560 =  63.582
1, 0  acc: 132294 / 133103 =  99.392
1, 1  acc:  8372 /  8668 =  96.585
--------------------------------------
Average acc: 152973 / 162770 =  93.981
Robust  acc:  8136 / 14439 =  56.347
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7452 /  8535 =  87.311
0, 1  acc:  7593 /  8276 =  91.747
1, 0  acc:  2701 /  2874 =  93.981
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 17905 / 19867 =  90.124
Robust  acc:  7452 /  8535 =  87.311
------------------------------------
New max robust acc: 87.31107205623901
debias model - Saving best checkpoint at epoch 34
replace: True
-> Updating checkpoint debias-wga-best_seed7.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed7.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.223
Robust Acc: 82.778 | Best Acc: 93.589
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  8787 /  9767 =  89.966
0, 1  acc:  6953 /  7535 =  92.276
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18210 / 19962 =  91.223
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8787 /  9767 =  89.966
0, 1  acc:  6953 /  7535 =  92.276
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18210 / 19962 =  91.223
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8787 /  9767 =  89.966
0, 1  acc:  6953 /  7535 =  92.276
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18210 / 19962 =  91.223
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 94.016 | Val Loss: 0.007 | Val Acc: 55.076
Training:
Accuracies by groups:
0, 0  acc:  8235 / 14528 =  56.684
0, 1  acc:  4161 /  6460 =  64.412
1, 0  acc: 132324 / 133193 =  99.348
1, 1  acc:  8310 /  8589 =  96.752
--------------------------------------
Average acc: 153030 / 162770 =  94.016
Robust  acc:  8235 / 14528 =  56.684
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3513 /  8535 =  41.160
0, 1  acc:  4375 /  8276 =  52.864
1, 0  acc:  2872 /  2874 =  99.930
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10942 / 19867 =  55.076
Robust  acc:  3513 /  8535 =  41.160
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 56.537
Robust Acc: 47.753 | Best Acc: 99.879
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  4664 /  9767 =  47.753
0, 1  acc:  3969 /  7535 =  52.674
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 11286 / 19962 =  56.537
Robust  acc:  4664 /  9767 =  47.753
------------------------------------
Accuracies by groups:
0, 0  acc:  4664 /  9767 =  47.753
0, 1  acc:  3969 /  7535 =  52.674
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 11286 / 19962 =  56.537
Robust  acc:  4664 /  9767 =  47.753
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4664 /  9767 =  47.753
0, 1  acc:  3969 /  7535 =  52.674
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 11286 / 19962 =  56.537
Robust  acc:  4664 /  9767 =  47.753
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 94.026 | Val Loss: 0.007 | Val Acc: 49.771
Training:
Accuracies by groups:
0, 0  acc:  8084 / 14376 =  56.233
0, 1  acc:  4230 /  6552 =  64.560
1, 0  acc: 132469 / 133284 =  99.389
1, 1  acc:  8263 /  8558 =  96.553
--------------------------------------
Average acc: 153046 / 162770 =  94.026
Robust  acc:  8084 / 14376 =  56.233
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2878 /  8535 =  33.720
0, 1  acc:  3956 /  8276 =  47.801
1, 0  acc:  2872 /  2874 =  99.930
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  9888 / 19867 =  49.771
Robust  acc:  2878 /  8535 =  33.720
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 49.740
Robust Acc: 38.395 | Best Acc: 99.960
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  3750 /  9767 =  38.395
0, 1  acc:  3522 /  7535 =  46.742
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9929 / 19962 =  49.740
Robust  acc:  3750 /  9767 =  38.395
------------------------------------
Accuracies by groups:
0, 0  acc:  3750 /  9767 =  38.395
0, 1  acc:  3522 /  7535 =  46.742
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9929 / 19962 =  49.740
Robust  acc:  3750 /  9767 =  38.395
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3750 /  9767 =  38.395
0, 1  acc:  3522 /  7535 =  46.742
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9929 / 19962 =  49.740
Robust  acc:  3750 /  9767 =  38.395
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.165 | Val Loss: 0.005 | Val Acc: 73.584
Training:
Accuracies by groups:
0, 0  acc:  8200 / 14370 =  57.063
0, 1  acc:  4229 /  6432 =  65.749
1, 0  acc: 132279 / 133124 =  99.365
1, 1  acc:  8564 /  8844 =  96.834
--------------------------------------
Average acc: 153272 / 162770 =  94.165
Robust  acc:  8200 / 14370 =  57.063
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5722 /  8535 =  67.042
0, 1  acc:  5867 /  8276 =  70.892
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14619 / 19867 =  73.584
Robust  acc:  5722 /  8535 =  67.042
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.383
Robust Acc: 71.029 | Best Acc: 98.952
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  7069 /  9767 =  72.376
0, 1  acc:  5352 /  7535 =  71.029
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15048 / 19962 =  75.383
Robust  acc:  5352 /  7535 =  71.029
------------------------------------
Accuracies by groups:
0, 0  acc:  7069 /  9767 =  72.376
0, 1  acc:  5352 /  7535 =  71.029
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15048 / 19962 =  75.383
Robust  acc:  5352 /  7535 =  71.029
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7069 /  9767 =  72.376
0, 1  acc:  5352 /  7535 =  71.029
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15048 / 19962 =  75.383
Robust  acc:  5352 /  7535 =  71.029
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.000 | Val Loss: 0.004 | Val Acc: 84.628
Training:
Accuracies by groups:
0, 0  acc:  8353 / 14612 =  57.165
0, 1  acc:  4317 /  6597 =  65.439
1, 0  acc: 131867 / 132809 =  99.291
1, 1  acc:  8466 /  8752 =  96.732
--------------------------------------
Average acc: 153003 / 162770 =  94.000
Robust  acc:  8353 / 14612 =  57.165
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6772 /  8535 =  79.344
0, 1  acc:  7104 /  8276 =  85.839
1, 0  acc:  2767 /  2874 =  96.277
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 16813 / 19867 =  84.628
Robust  acc:  6772 /  8535 =  79.344
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.304
Robust Acc: 83.608 | Best Acc: 96.613
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  8166 /  9767 =  83.608
0, 1  acc:  6508 /  7535 =  86.370
1, 0  acc:  2396 /  2480 =  96.613
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17228 / 19962 =  86.304
Robust  acc:  8166 /  9767 =  83.608
------------------------------------
Accuracies by groups:
0, 0  acc:  8166 /  9767 =  83.608
0, 1  acc:  6508 /  7535 =  86.370
1, 0  acc:  2396 /  2480 =  96.613
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17228 / 19962 =  86.304
Robust  acc:  8166 /  9767 =  83.608
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8166 /  9767 =  83.608
0, 1  acc:  6508 /  7535 =  86.370
1, 0  acc:  2396 /  2480 =  96.613
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17228 / 19962 =  86.304
Robust  acc:  8166 /  9767 =  83.608
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.214 | Val Loss: 0.005 | Val Acc: 78.210
Training:
Accuracies by groups:
0, 0  acc:  8500 / 14495 =  58.641
0, 1  acc:  4294 /  6478 =  66.286
1, 0  acc: 132164 / 133079 =  99.312
1, 1  acc:  8394 /  8718 =  96.284
--------------------------------------
Average acc: 153352 / 162770 =  94.214
Robust  acc:  8500 / 14495 =  58.641
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6079 /  8535 =  71.224
0, 1  acc:  6444 /  8276 =  77.864
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 15538 / 19867 =  78.210
Robust  acc:  6079 /  8535 =  71.224
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.837
Robust Acc: 76.390 | Best Acc: 97.984
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  7461 /  9767 =  76.390
0, 1  acc:  5874 /  7535 =  77.956
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15937 / 19962 =  79.837
Robust  acc:  7461 /  9767 =  76.390
------------------------------------
Accuracies by groups:
0, 0  acc:  7461 /  9767 =  76.390
0, 1  acc:  5874 /  7535 =  77.956
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15937 / 19962 =  79.837
Robust  acc:  7461 /  9767 =  76.390
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7461 /  9767 =  76.390
0, 1  acc:  5874 /  7535 =  77.956
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15937 / 19962 =  79.837
Robust  acc:  7461 /  9767 =  76.390
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.172 | Val Loss: 0.006 | Val Acc: 70.967
Training:
Accuracies by groups:
0, 0  acc:  8300 / 14371 =  57.755
0, 1  acc:  4310 /  6477 =  66.543
1, 0  acc: 132351 / 133300 =  99.288
1, 1  acc:  8323 /  8622 =  96.532
--------------------------------------
Average acc: 153284 / 162770 =  94.172
Robust  acc:  8300 / 14371 =  57.755
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5312 /  8535 =  62.238
0, 1  acc:  5746 /  8276 =  69.430
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14099 / 19867 =  70.967
Robust  acc:  5312 /  8535 =  62.238
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 72.693
Robust Acc: 68.301 | Best Acc: 99.556
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  6671 /  9767 =  68.301
0, 1  acc:  5193 /  7535 =  68.918
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14511 / 19962 =  72.693
Robust  acc:  6671 /  9767 =  68.301
------------------------------------
Accuracies by groups:
0, 0  acc:  6671 /  9767 =  68.301
0, 1  acc:  5193 /  7535 =  68.918
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14511 / 19962 =  72.693
Robust  acc:  6671 /  9767 =  68.301
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6671 /  9767 =  68.301
0, 1  acc:  5193 /  7535 =  68.918
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14511 / 19962 =  72.693
Robust  acc:  6671 /  9767 =  68.301
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.140 | Val Loss: 0.004 | Val Acc: 79.383
Training:
Accuracies by groups:
0, 0  acc:  8206 / 14314 =  57.328
0, 1  acc:  4277 /  6447 =  66.341
1, 0  acc: 132240 / 133199 =  99.280
1, 1  acc:  8508 /  8810 =  96.572
--------------------------------------
Average acc: 153231 / 162770 =  94.140
Robust  acc:  8206 / 14314 =  57.328
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6139 /  8535 =  71.927
0, 1  acc:  6607 /  8276 =  79.833
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15771 / 19867 =  79.383
Robust  acc:  6139 /  8535 =  71.927
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.495
Robust Acc: 77.250 | Best Acc: 98.952
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  7545 /  9767 =  77.250
0, 1  acc:  6100 /  7535 =  80.956
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16268 / 19962 =  81.495
Robust  acc:  7545 /  9767 =  77.250
------------------------------------
Accuracies by groups:
0, 0  acc:  7545 /  9767 =  77.250
0, 1  acc:  6100 /  7535 =  80.956
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16268 / 19962 =  81.495
Robust  acc:  7545 /  9767 =  77.250
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7545 /  9767 =  77.250
0, 1  acc:  6100 /  7535 =  80.956
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16268 / 19962 =  81.495
Robust  acc:  7545 /  9767 =  77.250
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.119 | Val Loss: 0.004 | Val Acc: 87.180
Training:
Accuracies by groups:
0, 0  acc:  8338 / 14403 =  57.891
0, 1  acc:  4427 /  6726 =  65.819
1, 0  acc: 132026 / 132940 =  99.312
1, 1  acc:  8406 /  8701 =  96.610
--------------------------------------
Average acc: 153197 / 162770 =  94.119
Robust  acc:  8338 / 14403 =  57.891
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6995 /  8535 =  81.957
0, 1  acc:  7370 /  8276 =  89.053
1, 0  acc:  2790 /  2874 =  97.077
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17320 / 19867 =  87.180
Robust  acc:  6995 /  8535 =  81.957
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 88.764
Robust Acc: 85.963 | Best Acc: 97.258
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  8396 /  9767 =  85.963
0, 1  acc:  6754 /  7535 =  89.635
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17719 / 19962 =  88.764
Robust  acc:  8396 /  9767 =  85.963
------------------------------------
Accuracies by groups:
0, 0  acc:  8396 /  9767 =  85.963
0, 1  acc:  6754 /  7535 =  89.635
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17719 / 19962 =  88.764
Robust  acc:  8396 /  9767 =  85.963
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8396 /  9767 =  85.963
0, 1  acc:  6754 /  7535 =  89.635
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17719 / 19962 =  88.764
Robust  acc:  8396 /  9767 =  85.963
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.235 | Val Loss: 0.007 | Val Acc: 56.536
Training:
Accuracies by groups:
0, 0  acc:  8364 / 14434 =  57.947
0, 1  acc:  4460 /  6567 =  67.915
1, 0  acc: 132258 / 133164 =  99.320
1, 1  acc:  8305 /  8605 =  96.514
--------------------------------------
Average acc: 153387 / 162770 =  94.235
Robust  acc:  8364 / 14434 =  57.947
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3575 /  8535 =  41.886
0, 1  acc:  4607 /  8276 =  55.667
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 11232 / 19867 =  56.536
Robust  acc:  3575 /  8535 =  41.886
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 57.053
Robust Acc: 46.872 | Best Acc: 99.839
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  4578 /  9767 =  46.872
0, 1  acc:  4158 /  7535 =  55.182
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11389 / 19962 =  57.053
Robust  acc:  4578 /  9767 =  46.872
------------------------------------
Accuracies by groups:
0, 0  acc:  4578 /  9767 =  46.872
0, 1  acc:  4158 /  7535 =  55.182
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11389 / 19962 =  57.053
Robust  acc:  4578 /  9767 =  46.872
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4578 /  9767 =  46.872
0, 1  acc:  4158 /  7535 =  55.182
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11389 / 19962 =  57.053
Robust  acc:  4578 /  9767 =  46.872
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.245 | Val Loss: 0.004 | Val Acc: 82.373
Training:
Accuracies by groups:
0, 0  acc:  8546 / 14526 =  58.832
0, 1  acc:  4434 /  6581 =  67.376
1, 0  acc: 132113 / 133053 =  99.294
1, 1  acc:  8309 /  8610 =  96.504
--------------------------------------
Average acc: 153402 / 162770 =  94.245
Robust  acc:  8546 / 14526 =  58.832
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6718 /  8535 =  78.711
0, 1  acc:  6688 /  8276 =  80.812
1, 0  acc:  2790 /  2874 =  97.077
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 16365 / 19867 =  82.373
Robust  acc:  6718 /  8535 =  78.711
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.145
Robust Acc: 81.619 | Best Acc: 96.411
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  8098 /  9767 =  82.912
0, 1  acc:  6150 /  7535 =  81.619
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 16797 / 19962 =  84.145
Robust  acc:  6150 /  7535 =  81.619
------------------------------------
Accuracies by groups:
0, 0  acc:  8098 /  9767 =  82.912
0, 1  acc:  6150 /  7535 =  81.619
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 16797 / 19962 =  84.145
Robust  acc:  6150 /  7535 =  81.619
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8098 /  9767 =  82.912
0, 1  acc:  6150 /  7535 =  81.619
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 16797 / 19962 =  84.145
Robust  acc:  6150 /  7535 =  81.619
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.205 | Val Loss: 0.005 | Val Acc: 77.551
Training:
Accuracies by groups:
0, 0  acc:  8495 / 14430 =  58.870
0, 1  acc:  4512 /  6661 =  67.738
1, 0  acc: 132025 / 133018 =  99.253
1, 1  acc:  8305 /  8661 =  95.890
--------------------------------------
Average acc: 153337 / 162770 =  94.205
Robust  acc:  8495 / 14430 =  58.870
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6133 /  8535 =  71.857
0, 1  acc:  6261 /  8276 =  75.652
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 15407 / 19867 =  77.551
Robust  acc:  6133 /  8535 =  71.857
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.496
Robust Acc: 76.151 | Best Acc: 98.750
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  7509 /  9767 =  76.881
0, 1  acc:  5738 /  7535 =  76.151
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15869 / 19962 =  79.496
Robust  acc:  5738 /  7535 =  76.151
------------------------------------
Accuracies by groups:
0, 0  acc:  7509 /  9767 =  76.881
0, 1  acc:  5738 /  7535 =  76.151
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15869 / 19962 =  79.496
Robust  acc:  5738 /  7535 =  76.151
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7509 /  9767 =  76.881
0, 1  acc:  5738 /  7535 =  76.151
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15869 / 19962 =  79.496
Robust  acc:  5738 /  7535 =  76.151
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.352 | Val Loss: 0.006 | Val Acc: 68.742
Training:
Accuracies by groups:
0, 0  acc:  8393 / 14235 =  58.960
0, 1  acc:  4483 /  6531 =  68.642
1, 0  acc: 132205 / 133197 =  99.255
1, 1  acc:  8495 /  8807 =  96.457
--------------------------------------
Average acc: 153576 / 162770 =  94.352
Robust  acc:  8393 / 14235 =  58.960
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4871 /  8535 =  57.071
0, 1  acc:  5737 /  8276 =  69.321
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13657 / 19867 =  68.742
Robust  acc:  4871 /  8535 =  57.071
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 70.203
Robust Acc: 62.701 | Best Acc: 99.556
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  6124 /  9767 =  62.701
0, 1  acc:  5245 /  7535 =  69.608
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14014 / 19962 =  70.203
Robust  acc:  6124 /  9767 =  62.701
------------------------------------
Accuracies by groups:
0, 0  acc:  6124 /  9767 =  62.701
0, 1  acc:  5245 /  7535 =  69.608
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14014 / 19962 =  70.203
Robust  acc:  6124 /  9767 =  62.701
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6124 /  9767 =  62.701
0, 1  acc:  5245 /  7535 =  69.608
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14014 / 19962 =  70.203
Robust  acc:  6124 /  9767 =  62.701
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.257 | Val Loss: 0.004 | Val Acc: 81.567
Training:
Accuracies by groups:
0, 0  acc:  8608 / 14611 =  58.915
0, 1  acc:  4457 /  6526 =  68.296
1, 0  acc: 132116 / 133067 =  99.285
1, 1  acc:  8241 /  8566 =  96.206
--------------------------------------
Average acc: 153422 / 162770 =  94.257
Robust  acc:  8608 / 14611 =  58.915
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6193 /  8535 =  72.560
0, 1  acc:  6988 /  8276 =  84.437
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16205 / 19867 =  81.567
Robust  acc:  6193 /  8535 =  72.560
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.108
Robust Acc: 77.516 | Best Acc: 98.911
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  7571 /  9767 =  77.516
0, 1  acc:  6401 /  7535 =  84.950
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16590 / 19962 =  83.108
Robust  acc:  7571 /  9767 =  77.516
------------------------------------
Accuracies by groups:
0, 0  acc:  7571 /  9767 =  77.516
0, 1  acc:  6401 /  7535 =  84.950
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16590 / 19962 =  83.108
Robust  acc:  7571 /  9767 =  77.516
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7571 /  9767 =  77.516
0, 1  acc:  6401 /  7535 =  84.950
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16590 / 19962 =  83.108
Robust  acc:  7571 /  9767 =  77.516
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.304 | Val Loss: 0.005 | Val Acc: 75.512
Training:
Accuracies by groups:
0, 0  acc:  8622 / 14584 =  59.120
0, 1  acc:  4548 /  6540 =  69.541
1, 0  acc: 132071 / 133056 =  99.260
1, 1  acc:  8257 /  8590 =  96.123
--------------------------------------
Average acc: 153498 / 162770 =  94.304
Robust  acc:  8622 / 14584 =  59.120
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5440 /  8535 =  63.738
0, 1  acc:  6522 /  8276 =  78.806
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15002 / 19867 =  75.512
Robust  acc:  5440 /  8535 =  63.738
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.297
Robust Acc: 69.796 | Best Acc: 99.516
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  6817 /  9767 =  69.796
0, 1  acc:  5972 /  7535 =  79.257
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15430 / 19962 =  77.297
Robust  acc:  6817 /  9767 =  69.796
------------------------------------
Accuracies by groups:
0, 0  acc:  6817 /  9767 =  69.796
0, 1  acc:  5972 /  7535 =  79.257
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15430 / 19962 =  77.297
Robust  acc:  6817 /  9767 =  69.796
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6817 /  9767 =  69.796
0, 1  acc:  5972 /  7535 =  79.257
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15430 / 19962 =  77.297
Robust  acc:  6817 /  9767 =  69.796
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.374 | Val Loss: 0.006 | Val Acc: 70.715
Training:
Accuracies by groups:
0, 0  acc:  8397 / 14210 =  59.092
0, 1  acc:  4578 /  6608 =  69.280
1, 0  acc: 132333 / 133316 =  99.263
1, 1  acc:  8305 /  8636 =  96.167
--------------------------------------
Average acc: 153613 / 162770 =  94.374
Robust  acc:  8397 / 14210 =  59.092
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4889 /  8535 =  57.282
0, 1  acc:  6118 /  8276 =  73.925
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14049 / 19867 =  70.715
Robust  acc:  4889 /  8535 =  57.282
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 71.977
Robust Acc: 63.213 | Best Acc: 99.597
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  6174 /  9767 =  63.213
0, 1  acc:  5552 /  7535 =  73.683
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14368 / 19962 =  71.977
Robust  acc:  6174 /  9767 =  63.213
------------------------------------
Accuracies by groups:
0, 0  acc:  6174 /  9767 =  63.213
0, 1  acc:  5552 /  7535 =  73.683
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14368 / 19962 =  71.977
Robust  acc:  6174 /  9767 =  63.213
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6174 /  9767 =  63.213
0, 1  acc:  5552 /  7535 =  73.683
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14368 / 19962 =  71.977
Robust  acc:  6174 /  9767 =  63.213
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed7.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed7.pt
