Question about graph CNNs and pooling

Hi,

Hopefully this is the right place to post this question.

I am trying to get some predictions on some graph data using torch geometric; the graph represents a 2D finite element mesh with n nodal features, and the geometry has been normalized so that it fits the [0, 1] square. The predictions would be for simple linear PDEs on that mesh. Each training/test sample consists of a different geometry.

The best effort so far is to fit the graph in a set of images size x size x n and run a standard CNN on it, i.e. not actually using torch geometric. The CNN compresses the features from e.g. 30 x 30 x 3 into e.g. 4 x 4 x 64, then flatten and a fully connected layer.

I am trying to achieve similar performances by using the original graph and running some units of the sequence GCN + InstanceNorm + ReLU + MLP + TopKPooling, the latter to a fixed number. When the size of the graph is down to a reasonable amount, then flatten and a fully connected layer.

With the latter configuration I am not achieving the same results as with the CNN (not even close). I imagine it has to do with the CNN “having encoded” the geometric information of the system in its rigid structure, whilst the graph CNN may not be able to capture this. I was wondering what your opinion on this is, and if you had any suggestions. Please let me know if you need further info, my description so far may have been a tad too short.

Thanks!
Francesc.