muhanzhang / pytorch_DGCNN

PyTorch implementation of DGCNN
MIT License
369 stars 122 forks source link

implementation details #14

Closed hjjpku closed 5 years ago

hjjpku commented 5 years ago

Thanks for the release of the pytorch version of DGCNN. However, it seems that it is implemented based on s2v rather than graph network. So, which one is the proper version (torch or pytorch) to reproduce the results?

muhanzhang commented 5 years ago

Hi, thanks for the question. I used torch DGCNN to generate the experimental results of the paper. However, pytorch_DGCNN should give you similar results by changing batch size to 1 (default batch size is 50 for fast training).

lenhhoxung86 commented 5 years ago

The code seems to be correct, but I had a hard time to understand it. Could you please provide a cleaner version? Now it's merged with structure2vec and sometimes it has misleading function names, e.g., S2VLIB.PrepareMeanField.

muhanzhang commented 5 years ago

Hi, I implemented pytorch_DGCNN leveraging structure2vec's graph backend. Thus there might be some naming issues left behind. I will clean the code in the near future. Thanks.

lenhhoxung86 commented 5 years ago

@muhanzhang thanks for your reply. Could you also explain how you extract node feature (matrix X in the paper). In your folder data, only graph structure is provided. For some datasets, e.g., ENZYMES, the node feature is provided in the original version. I guess you only use the node degree as feature?

muhanzhang commented 5 years ago

Yes, the ENZYMES included does not contain continuous node features but only node labels. Please redownload ENZYMES from https://ls11-www.cs.tu-dortmund.de/staff/morris/graphkerneldatasets and use the "data/dortmund2txt.m" MATLAB script to generate the dataset with continuous node features again.

muhanzhang commented 5 years ago

The code seems to be correct, but I had a hard time to understand it. Could you please provide a cleaner version? Now it's merged with structure2vec and sometimes it has misleading function names, e.g., S2VLIB.PrepareMeanField.

Code cleaned.