I have created many graphs using dgl.DGLGraph(), now i want to convert them into undirected graphs before giving them to GIN, but to_bidirected doesn’t work and gives this error :
AssertionError: to_bidirected only support simple graph?
also the reason I’m trying to convert them into undirected graphs is that GIN is performing much much worse than GCN in my dataset for graph classification, and i think since GIN can work with directed graphs, its causing problems in the message passing phase since if there is an edge from a to b, in GCN both of them get updated but i guess in GIN only b gets updated by its neighbor features, but correct me if I’m wrong.
one performance comparison is that with only node degree feature, GCN is 60% in my dataset and GIN is 28%. i used the same code for GIN as provided in the dgl repository. although using my own node features, it does reach above 90% but still less than GCN. tried changing the graph pooling and neighbor pooling to mean/max/sum, didnt affect much. in fact for some reason sum works worse than the mean, but based on their GIN paper it seems like SUM should be much better!