A PyTorch implementation of "Capsule Graph Neural Network" (ICLR 2019). The high-quality node embeddings learned from the Graph Neural Networks (GNNs) have been applied to a wide range of node-based applications and some of them have achieved state-of-the-art (SOTA) performance. However, when applying node embeddings learned from GNNs to generate graph embeddings, the scalar node representation may not suffice to preserve the node/graph properties efficiently, resulting in sub-optimal graph embeddings. Inspired by the Capsule Neural Network (CapsNet), we propose the Capsule Graph Neural Network (CapsGNN), which adopts the concept of capsules to address the weakness in existing GNN-based graph embeddings algorithms. By extracting node features in the form of capsules, routing mechanism can be utilized to capture important information at the graph level. As a result, our model generates multiple embeddings for each graph to capture graph properties from different aspects.
Features
- The code takes graphs for training from an input folder where each graph is stored as a JSON
- The predictions are saved in the `output/` directory
- Provides a PyTorch implementation of CapsGNN
- The codebase is implemented in Python 3.5.2
- Implementation of Capsule Graph Neural Network (ICLR 2019)
- Generates multiple embeddings for each graph to capture graph properties from different aspects