Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A question about implementation of graph convolution #34

Open
tomato18463 opened this issue Apr 14, 2023 · 3 comments
Open

A question about implementation of graph convolution #34

tomato18463 opened this issue Apr 14, 2023 · 3 comments

Comments

@tomato18463
Copy link

Hi,

I have got a question about the implementaion of graph convolution in this repository.

According to your code here, your graph is normalized column-wise. But the matrix multiplication here seems to use each row of your graph to weight the features of different node and sum it together. I am not sure if it is correct. It seems the right way is to use each column of your graph to weight-and-sum the features, so that the sum of weights is one whatever the number of neighbours? Is there something wrong in my understanding here?

Thank you!

@MengHao666
Copy link

Hi,

I have got a question about the implementaion of graph convolution in this repository.

According to your code here, your graph is normalized column-wise. But the matrix multiplication here seems to use each row of your graph to weight the features of different node and sum it together. I am not sure if it is correct. It seems the right way is to use each column of your graph to weight-and-sum the features, so that the sum of weights is one whatever the number of neighbours? Is there something wrong in my understanding here?

Thank you!

Would it harm the performance ?

@tomato18463
Copy link
Author

Hi,
I have got a question about the implementaion of graph convolution in this repository.
According to your code here, your graph is normalized column-wise. But the matrix multiplication here seems to use each row of your graph to weight the features of different node and sum it together. I am not sure if it is correct. It seems the right way is to use each column of your graph to weight-and-sum the features, so that the sum of weights is one whatever the number of neighbours? Is there something wrong in my understanding here?
Thank you!

Would it harm the performance ?

I have not done systematic experiments on this. In one of my experiments making some modifications as in my post gives better performance (I did not do more experiments for further validation though). Also, I remember there is one paper mentioning that proper normalization in gcn helps to stablize the network training. But there might be something wrong in my understanding about the author's method and implementation.

@MengHao666
Copy link

I didn't look into the code deeply but I would use it to train my own data. Could you check the code in here ? It seems the result and code there could get results close to this offical repo. I would check it these days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants