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: 5
Lr: 0.0001
Momentum: 0.9
Weight decay: 0.1
Weight decay c: 0.1
Stopping window: 30
Load encoder: 
Freeze encoder: False
Finetune epochs: 0
Clip grad norm: False
Lr scheduler classifier: 
Lr scheduler: 
Grad clip grad norm: False
Erm: False
Erm only: False
Pretrained spurious path: 
Max epoch s: 1
Bs trn s: 32
Lr s: 0.001
Momentum s: 0.9
Weight decay s: 0.0005
Slice temp: 10
Log loss interval: 10
Checkpoint interval: 50
Grad checkpoint interval: 50
Log visual interval: 100
Log grad visual interval: 50
Verbose: True
Seed: 47
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: False
Cosine: False
Exp: stage_one_erm
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=5-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=47-r=0
Mi resampled: None

Loading checkpoints for train split:
[-1 -1 -1 ... -1 -1 -1]
<class 'numpy.ndarray'>
[0 1 2 3] [71629 66874 22880  1387]
Loading checkpoints for val split:
[-1 -1 -1 ... -1  1 -1]
<class 'numpy.ndarray'>
[0 1 2 3] [8535 8276 2874  182]
Loading checkpoints for test split:
[-1 -1 -1 ... -1 -1  1]
<class 'numpy.ndarray'>
[0 1 2 3] [9767 7535 2480  180]
Train dataset:
    Blond_Hair = 0, Male = 0 : n = 71629
    Blond_Hair = 0, Male = 1 : n = 66874
    Blond_Hair = 1, Male = 0 : n = 22880
    Blond_Hair = 1, Male = 1 : n = 1387
Val dataset:
    Blond_Hair = 0, Male = 0 : n = 8535
    Blond_Hair = 0, Male = 1 : n = 8276
    Blond_Hair = 1, Male = 0 : n = 2874
    Blond_Hair = 1, Male = 1 : n = 182
Test dataset:
    Blond_Hair = 0, Male = 0 : n = 9767
    Blond_Hair = 0, Male = 1 : n = 7535
    Blond_Hair = 1, Male = 0 : n = 2480
    Blond_Hair = 1, Male = 1 : n = 180
Pretrained model loaded from 
Epoch:   1 | Train Loss: 0.000 | Train Acc: 84.896 | Val Loss: 0.003 | Val Acc: 84.618
Training:
Accuracies by groups:
0, 0  acc: 71380 / 71629 =  99.652
0, 1  acc: 66681 / 66874 =  99.711
1, 0  acc:   123 / 22880 =   0.538
1, 1  acc:     1 /  1387 =   0.072
--------------------------------------
Average acc: 138185 / 162770 =  84.896
Robust  acc:     1 /  1387 =   0.072
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8535 /  8535 = 100.000
0, 1  acc:  8276 /  8276 = 100.000
1, 0  acc:     0 /  2874 =   0.000
1, 1  acc:     0 /   182 =   0.000
------------------------------------
Average acc: 16811 / 19867 =  84.618
Robust  acc:     0 /  2874 =   0.000
------------------------------------
Save biased model at epoch 0
replace: True
Checkpoint saved at ./model/celebA/config/stage_one_erm_model_b_epoch0_seed47.pt
New max average-worst acc gap: 84.61770775658127
bias model - Saving best checkpoint at epoch 0
replace: True
Checkpoint saved at ./model/celebA/config/stage_one_erm_model_b_worst_avg_gap_best_epoch0_seed47.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 86.675
Robust Acc: 0.000 | Best Acc: 100.000
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  9767 /  9767 = 100.000
0, 1  acc:  7535 /  7535 = 100.000
1, 0  acc:     0 /  2480 =   0.000
1, 1  acc:     0 /   180 =   0.000
------------------------------------
Average acc: 17302 / 19962 =  86.675
Robust  acc:     0 /  2480 =   0.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9767 /  9767 = 100.000
0, 1  acc:  7535 /  7535 = 100.000
1, 0  acc:     0 /  2480 =   0.000
1, 1  acc:     0 /   180 =   0.000
------------------------------------
Average acc: 17302 / 19962 =  86.675
Robust  acc:     0 /  2480 =   0.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9767 /  9767 = 100.000
0, 1  acc:  7535 /  7535 = 100.000
1, 0  acc:     0 /  2480 =   0.000
1, 1  acc:     0 /   180 =   0.000
------------------------------------
Average acc: 17302 / 19962 =  86.675
Robust  acc:     0 /  2480 =   0.000
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 89.574 | Val Loss: 0.001 | Val Acc: 93.084
Training:
Accuracies by groups:
0, 0  acc: 70589 / 71629 =  98.548
0, 1  acc: 66846 / 66874 =  99.958
1, 0  acc:  8310 / 22880 =  36.320
1, 1  acc:    54 /  1387 =   3.893
--------------------------------------
Average acc: 145799 / 162770 =  89.574
Robust  acc:    54 /  1387 =   3.893
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8188 /  8535 =  95.934
0, 1  acc:  8268 /  8276 =  99.903
1, 0  acc:  2023 /  2874 =  70.390
1, 1  acc:    14 /   182 =   7.692
------------------------------------
Average acc: 18493 / 19867 =  93.084
Robust  acc:    14 /   182 =   7.692
------------------------------------
Save biased model at epoch 1
replace: True
Checkpoint saved at ./model/celebA/config/stage_one_erm_model_b_epoch1_seed47.pt
New max average-worst acc gap: 85.39170096526516
bias model - Saving best checkpoint at epoch 1
replace: True
Checkpoint saved at ./model/celebA/config/stage_one_erm_model_b_worst_avg_gap_best_epoch1_seed47.pt
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.337
Robust Acc: 13.333 | Best Acc: 99.973
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  9487 /  9767 =  97.133
0, 1  acc:  7533 /  7535 =  99.973
1, 0  acc:  1588 /  2480 =  64.032
1, 1  acc:    24 /   180 =  13.333
------------------------------------
Average acc: 18632 / 19962 =  93.337
Robust  acc:    24 /   180 =  13.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9487 /  9767 =  97.133
0, 1  acc:  7533 /  7535 =  99.973
1, 0  acc:  1588 /  2480 =  64.032
1, 1  acc:    24 /   180 =  13.333
------------------------------------
Average acc: 18632 / 19962 =  93.337
Robust  acc:    24 /   180 =  13.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9487 /  9767 =  97.133
0, 1  acc:  7533 /  7535 =  99.973
1, 0  acc:  1588 /  2480 =  64.032
1, 1  acc:    24 /   180 =  13.333
------------------------------------
Average acc: 18632 / 19962 =  93.337
Robust  acc:    24 /   180 =  13.333
------------------------------------
Epoch:   3 | Train Loss: 0.000 | Train Acc: 93.630 | Val Loss: 0.001 | Val Acc: 94.131
Training:
Accuracies by groups:
0, 0  acc: 69061 / 71629 =  96.415
0, 1  acc: 66687 / 66874 =  99.720
1, 0  acc: 16416 / 22880 =  71.748
1, 1  acc:   238 /  1387 =  17.159
--------------------------------------
Average acc: 152402 / 162770 =  93.630
Robust  acc:   238 /  1387 =  17.159
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8122 /  8535 =  95.161
0, 1  acc:  8256 /  8276 =  99.758
1, 0  acc:  2291 /  2874 =  79.715
1, 1  acc:    32 /   182 =  17.582
------------------------------------
Average acc: 18701 / 19867 =  94.131
Robust  acc:    32 /   182 =  17.582
------------------------------------
Save biased model at epoch 2
replace: True
Checkpoint saved at ./model/celebA/config/stage_one_erm_model_b_epoch2_seed47.pt
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.580
Robust Acc: 23.333 | Best Acc: 99.814
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  9432 /  9767 =  96.570
0, 1  acc:  7521 /  7535 =  99.814
1, 0  acc:  1885 /  2480 =  76.008
1, 1  acc:    42 /   180 =  23.333
------------------------------------
Average acc: 18880 / 19962 =  94.580
Robust  acc:    42 /   180 =  23.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9432 /  9767 =  96.570
0, 1  acc:  7521 /  7535 =  99.814
1, 0  acc:  1885 /  2480 =  76.008
1, 1  acc:    42 /   180 =  23.333
------------------------------------
Average acc: 18880 / 19962 =  94.580
Robust  acc:    42 /   180 =  23.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9432 /  9767 =  96.570
0, 1  acc:  7521 /  7535 =  99.814
1, 0  acc:  1885 /  2480 =  76.008
1, 1  acc:    42 /   180 =  23.333
------------------------------------
Average acc: 18880 / 19962 =  94.580
Robust  acc:    42 /   180 =  23.333
------------------------------------
Epoch:   4 | Train Loss: 0.000 | Train Acc: 94.297 | Val Loss: 0.001 | Val Acc: 94.599
Training:
Accuracies by groups:
0, 0  acc: 68835 / 71629 =  96.099
0, 1  acc: 66592 / 66874 =  99.578
1, 0  acc: 17729 / 22880 =  77.487
1, 1  acc:   331 /  1387 =  23.864
--------------------------------------
Average acc: 153487 / 162770 =  94.297
Robust  acc:   331 /  1387 =  23.864
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8149 /  8535 =  95.477
0, 1  acc:  8252 /  8276 =  99.710
1, 0  acc:  2357 /  2874 =  82.011
1, 1  acc:    36 /   182 =  19.780
------------------------------------
Average acc: 18794 / 19867 =  94.599
Robust  acc:    36 /   182 =  19.780
------------------------------------
Save biased model at epoch 3
replace: True
Checkpoint saved at ./model/celebA/config/stage_one_erm_model_b_epoch3_seed47.pt
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 95.016
Robust Acc: 28.333 | Best Acc: 99.748
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  9447 /  9767 =  96.724
0, 1  acc:  7516 /  7535 =  99.748
1, 0  acc:  1953 /  2480 =  78.750
1, 1  acc:    51 /   180 =  28.333
------------------------------------
Average acc: 18967 / 19962 =  95.016
Robust  acc:    51 /   180 =  28.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9447 /  9767 =  96.724
0, 1  acc:  7516 /  7535 =  99.748
1, 0  acc:  1953 /  2480 =  78.750
1, 1  acc:    51 /   180 =  28.333
------------------------------------
Average acc: 18967 / 19962 =  95.016
Robust  acc:    51 /   180 =  28.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9447 /  9767 =  96.724
0, 1  acc:  7516 /  7535 =  99.748
1, 0  acc:  1953 /  2480 =  78.750
1, 1  acc:    51 /   180 =  28.333
------------------------------------
Average acc: 18967 / 19962 =  95.016
Robust  acc:    51 /   180 =  28.333
------------------------------------
Epoch:   5 | Train Loss: 0.000 | Train Acc: 94.627 | Val Loss: 0.001 | Val Acc: 94.790
Training:
Accuracies by groups:
0, 0  acc: 68816 / 71629 =  96.073
0, 1  acc: 66561 / 66874 =  99.532
1, 0  acc: 18239 / 22880 =  79.716
1, 1  acc:   408 /  1387 =  29.416
--------------------------------------
Average acc: 154024 / 162770 =  94.627
Robust  acc:   408 /  1387 =  29.416
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8158 /  8535 =  95.583
0, 1  acc:  8250 /  8276 =  99.686
1, 0  acc:  2382 /  2874 =  82.881
1, 1  acc:    42 /   182 =  23.077
------------------------------------
Average acc: 18832 / 19867 =  94.790
Robust  acc:    42 /   182 =  23.077
------------------------------------
Save biased model at epoch 4
replace: True
Checkpoint saved at ./model/celebA/config/stage_one_erm_model_b_epoch4_seed47.pt
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 95.346
Robust Acc: 31.667 | Best Acc: 99.695
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  9452 /  9767 =  96.775
0, 1  acc:  7512 /  7535 =  99.695
1, 0  acc:  2012 /  2480 =  81.129
1, 1  acc:    57 /   180 =  31.667
------------------------------------
Average acc: 19033 / 19962 =  95.346
Robust  acc:    57 /   180 =  31.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9452 /  9767 =  96.775
0, 1  acc:  7512 /  7535 =  99.695
1, 0  acc:  2012 /  2480 =  81.129
1, 1  acc:    57 /   180 =  31.667
------------------------------------
Average acc: 19033 / 19962 =  95.346
Robust  acc:    57 /   180 =  31.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9452 /  9767 =  96.775
0, 1  acc:  7512 /  7535 =  99.695
1, 0  acc:  2012 /  2480 =  81.129
1, 1  acc:    57 /   180 =  31.667
------------------------------------
Average acc: 19033 / 19962 =  95.346
Robust  acc:    57 /   180 =  31.667
------------------------------------
replace: True
Checkpoint saved at ./model/celebA/config/bias-end_seed47.pt
training biased model is done
