Please read the official document of DGL and Pytorch. For advanced knowledge about how to use Pytorch, please read this article. How to understand Pytorch Source Code?
This project is mainly based on three papers:
We have TWO PARTS:
- Unsupervised machine learning part.
- Supervised machine learning part.
For the first part, we have two branches, one is used to predict the adjacency matrix as the VGAE paper. One is used to predict the Fingerprint.
So, in total, we have three branches as shown here .
The graph calssification is based on the GIN. tutorial can be found from Tutorial of Graph Classification by DGL
Branch 1 and 2 is essential a GAE. It is using the GAE model introducted in the VGAE paper. At the same time, the encoder network is replaced to the network of GIN. Detail of the network structure can be found from Here For the final implementation, the VGINAE branch is based on a variational GINAE implementation. The motiff learning part is using GINAE implementation. The motiff part can also be changed to VGINAE if necessary. The VGINAE's variational implementation based on DGL/Pytorch was modified based on the original tensorflow implentation of the VGAE model. The original tensorflow implementation can be found HERE
Code of the whole system can be get from the github. It is a private repo, please sending email to [email protected] to ask for accessing. https://github.com/liketheflower/graph_classification_jak