Unable to reproduce graphsage-lstm and graphsage-pool in example/graphsage.py

Anybody reproduced the results of lstm/pool version of graphsage on cora?

I think GraphSAGE paper did not report the node classification result on cora.
We have not carefully tuned the parameters of GraphSAGE with LSTM reducer.

According to my experience, for datasets like cora, you’d better change the formula of GraphSAGE for a little bit:


to:

Because the dimensionality of input size (1000+) and hidden size (16) differs much, if use default formula of GraphSAGE, the model is hard to converge.

I think there is no difference between the two implementations :grinning:.
How to understand the converge of dimension diff? Could you give more information(refences) about that.

No they are quite different, considering the scenario where the feature dimesnion is 1000 and the hidden dimension is 16.
In the first case (described in my previous response) the aggregate function is a RNNCell with input size 1000 and output size 1000. In the second case your aggregate function is a RNNCell with input size 16 and output size 16. The number of parameters differs a lot.
Sorry but I can not give you a clear answer about convergence issue, IMO a better initialization might help.

1 Like

It’s very kind of you to help me. I have missed the description of LSTM reducer, now i see it.