Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dsgiitr/graph_nets
PyTorch Implementation and Explanation of Graph Representation Learning papers: DeepWalk, GCN, GraphSAGE, ChebNet & GAT.
https://github.com/dsgiitr/graph_nets
chebyshev-polynomials deepwalk graph-attention-networks graph-convolutional-networks graph-embedding graph-representation-learning graph-sage node-embedding pytorch
Last synced: 2 days ago
JSON representation
PyTorch Implementation and Explanation of Graph Representation Learning papers: DeepWalk, GCN, GraphSAGE, ChebNet & GAT.
- Host: GitHub
- URL: https://github.com/dsgiitr/graph_nets
- Owner: dsgiitr
- Created: 2019-08-07T11:33:14.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-30T19:43:26.000Z (almost 2 years ago)
- Last Synced: 2025-01-12T13:04:46.724Z (9 days ago)
- Topics: chebyshev-polynomials, deepwalk, graph-attention-networks, graph-convolutional-networks, graph-embedding, graph-representation-learning, graph-sage, node-embedding, pytorch
- Language: Jupyter Notebook
- Homepage:
- Size: 11.9 MB
- Stars: 1,154
- Watchers: 39
- Forks: 226
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Graph Representation Learning
This repo is a supplement to our blog series *Explained: Graph Representation Learning*. The following major papers and corresponding blogs have been covered as part of the series and we look to add blogs on a few other significant works in the field.
Setup
Clone the git repository :
```
git clone https://github.com/dsgiitr/graph_nets.git
```Python 3 with Pytorch 1.3.0 are the primary requirements. The `requirements.txt` file contains a listing of other dependencies. To install all the requirements, run the following:
`pip install -r requirements.txt`
1. Understanding DeepWalk
Unsupervised online learning approach, inspired from word2vec in NLP, but, here the goal is to generate node embeddings.
- [DeepWalk Blog](https://dsgiitr.com/blogs/deepwalk)
- [Jupyter Notebook](https://github.com/dsgiitr/graph_nets/blob/master/DeepWalk/DeepWalk_Blog%2BCode.ipynb)
- [Code](https://github.com/dsgiitr/graph_nets/blob/master/DeepWalk/DeepWalk.py)
- [Paper -> DeepWalk: Online Learning of Social Representations](https://arxiv.org/abs/1403.6652)2. A Review : Graph Convolutional Networks (GCN)
GCNs draw on the idea of Convolution Neural Networks re-defining them for the non-euclidean data domain. They are convolutional, because filter parameters are typically shared over all locations in the graph unlike typical GNNs.
- [GCN Blog](https://dsgiitr.com/blogs/gcn)
- [Jupyter Notebook](https://github.com/dsgiitr/graph_nets/blob/master/GCN/GCN_Blog%2BCode.ipynb)
- [Code](https://github.com/dsgiitr/graph_nets/blob/master/GCN/GCN.py)
- [Paper -> Semi-Supervised Classification with Graph Convolutional Networks](https://arxiv.org/abs/1609.02907)3. Graph SAGE(SAmple and aggreGatE)
Previous approaches are transductive and don't naturally generalize to unseen nodes. GraphSAGE is an inductive framework leveraging node feature information to efficiently generate node embeddings.
- [GraphSAGE Blog](https://dsgiitr.com/blogs/graphsage)
- [Jupyter Notebook](https://github.com/dsgiitr/graph_nets/blob/master/GraphSAGE/GraphSAGE_Code%2BBlog.ipynb)
- [Code](https://github.com/dsgiitr/graph_nets/blob/master/GraphSAGE/GraphSAGE.py)
- [Paper -> Inductive Representation Learning on Large Graphs](https://arxiv.org/abs/1706.02216)4. ChebNet: CNN on Graphs with Fast Localized Spectral Filtering
ChebNet is a formulation of CNNs in the context of spectral graph theory.
- [ChebNet Blog](https://dsgiitr.com/blogs/chebnet/)
- [Jupyter Notebook](https://github.com/dsgiitr/graph_nets/blob/master/ChebNet/Chebnet_Blog%2BCode.ipynb)
- [Code](https://github.com/dsgiitr/graph_nets/blob/master/ChebNet/coarsening.py)
- [Paper -> Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering](https://arxiv.org/abs/1606.09375)
5. Understanding Graph Attention Networks
GAT is able to attend over their neighborhoods’ features, implicitly specifying different weights to different nodes in a neighborhood, without requiring any kind of costly matrix operation or depending on knowing the graph structure upfront.
- [GAT Blog](https://dsgiitr.com/blogs/gat)
- [Jupyter Notebook](https://github.com/dsgiitr/graph_nets/blob/master/GAT/GAT_Blog%2BCode.ipynb)
- [Code](https://github.com/dsgiitr/graph_nets/blob/master/GAT/GAT_PyG.py)
- [Paper -> Graph Attention Networks](https://arxiv.org/abs/1710.10903)
## Citation
Please use the following entry for citing the blog.
```
@misc{graph_nets,
author = {A. Dagar and A. Pant and S. Gupta and S. Chandel},
title = {graph_nets},
year = {2020},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/dsgiitr/graph_nets}},
}
```