Open AllenZ01 opened 8 months ago
Sorry for the late reply. I am busy these days. Now I have time to check this issue.
I will solve it this weekend. Sorry for the waiting.
Hi. I'm not in a hurry. Take your time! :)
Sorry for the waiting. Can you come up with a PR and I can review the changes?
Hi, I haven't changed anything, since I'm not so familiar with Pytorch-Lightning.
Hello, I also encountered the same problem, has it been solved now?
@dalianshiyi Not yet. Can you post the reproduce guidelines to help me locate the problem?
Hi.
1, An Error Occurs when reproducing CAF
An error occurs when I reproduce CAF, in line
trainer.fit(model, datamodule=data_module)
:2. A question about Data Normalization
And I think this line
self.data.x[:, sens_idx] = self.data.sens
does not re-asign the sensitive value $s$ to $s\in \lbrace0,1 \rbrace$. Since this is done before the normalization. To be specific, in the implementation of torch_geometric.data.Dataset,which means that:
when executing
dataset = Bail(...,transform=NormalizeFeatures())
, featuresdataset[0].x
are not normalized.when executing
data = dataset[0]
(i.e. accessing data object), featuresdata.x
are implicitly normalized.Yet this line
self.data.x[:, sens_idx] = self.data.sens
is executed indataset = Bail(...,transform=NormalizeFeatures())
, in other words, the re-asigning of sensitive values are executed beform feature normalization. And you use Row-Normalization (torch_geometric.transforms.NormalizeFeatures
) in your code, resulting in a variety values of $s$: $s \in (0,1)$. e.g. might be $0.18$, $0.23$ depending on other features' values of this individual.