Which GNN architectures should i try out for variable size graph classification that has node features?

Hello everyone!

my task is classifying graphs with variable sizes and i have feature vector for each node, and i only have 1 type of nodes and 1 type of edges but can have multiple edges between two nodes. (and no isolated nodes)

So far i have tried GCN for this task and implemented it by following the tutorials in dgl and had good results.

now i wanted to try other algorithms as well other than GCN, but there seem to be so many and I’m not sure which of them are fit for my task, i was thinking of using GIN and GAT and GraphSAGE, but not sure if they can even be used for this task or not?

so what algorithms do you guys suggest me to study and test next for this graph classification task? can GIN/GAT/GraphSage or other architectures even be used in my task or not? i will learn how they work and how to implement them, i just want some simple suggestion on what to study next that can be used for my task.

(and obviously i want the suggested architecture to be implemented in DGL, and if you have any other suggestion than the three mentioned architectures, please let me know)

thanks!

You can probably start with GIN, which is designed in particular for graph classification. A DGL-based example can be found here.

1 Like

Thanks for suggestion, one quick question:

which of the GCN/GIN work better with directed graphs in general? (if i am not mistaking, the default GCN works only with undirected graphs and i assume dgl convert the graphs to undirected graphs when i use gcn? but not sure about GIN)

The vanilla GCN assumes undirected graphs and GIN should work on both directed and undirected graphs.

1 Like