Uason-Chen / CTR-GCN

[ICCV2021] Official code for "Channel-wise Topology Refinement Graph Convolution for Skeleton-Based Action Recognition"
Other
244 stars 64 forks source link

A question about implementation of graph convolution #34

Open tomato18463 opened 1 year ago

tomato18463 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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.