0

I am trying to understand the EdgeConv model and its Pytorch geometric implementation. I read the paper called "Dynamic Graph CNN for Learning on Point Clouds" and I could not form some of the connections between the implementation on the pytorch and the paper. Can someone help me understand for Pytorch geometric implementation ? I have specific questions as well but if you can say in general how EdgeConv works that would also be highly appreciated as I only vaguely have ideas about it. Also if you can draw connections between the pytorch geometric implementation that would be great. Some more specific questions:

1)What are the requirements for the nn that I feed into the edgeconv layer ? 2) What should I include in the input x ? Do i need to specify coordinates here ?
3)I have more than 1 layer of edgeconv, in that case in my forward method I am giving x (output of the previous edgeconv layer) and our initial edge_index. Does that make any sense ? Is there any need of the edge_index to change after the first layer ? If so how should I change my edge_index ?

I tried using a basic neural network as an input nn= Seq(Lin(2*1, N), ReLU(), Lin(N, N)) where for X I had numbers like 32 to 128. And on the forward method I used the same edge_index matrix every time:

 x = self.conv1(x, edge_index)
 x = x.relu()
 x = self.conv2(x, edge_index)
 x = x.relu()
 x = self.conv3(x, edge_index)

I received lower accuracy than expected and I vaguely understand the concept so most likely there is something wrong.

0 Answers0