Solutions to the assignments of the course CS224W: Machine Learning with Graphs offered by Stanford University. The Winter-2021 offering of this class was chosen, as the assignments had more content.
The assignments consist of 6 Colab Notebooks, each aiming to teach a different topic. Specifically:
-
Colab 0: Introduction to the NetworkX and PyTorch Geometric python packages and a small application on the KarateClub dataset.
-
Colab 1: Training a vanilla Neural Network to learn the node embeddings of the KarateClub dataset.
-
Colab 2: A more in depth application of PyTorch Geometric for node and graph classification on the OGB (Open Graph Benchmark) arxiv and molhiv datasets respectively, using GCN (Graph Convolution Networks).
-
Colab 3: An even deeper application of PyTorch Geometric for node classification on the Cora dataset with the GraphSAGE and GAT (Graph Attention Network) models. Furthermode, a short introduction to DeepSnap library is made, as well as a small application for edge prediction on the Cora dataset.
-
Colab 4: Some DeepSnap functionalities for Heterogeneous Graphs, and an implementations of Heterogeneous GNN Convolutional/Attention models for node property prediction on the ACM(3025) dataset.
-
Colab 5: A small introduction to Neighbor Sampling with various ratios and Subgraph (Cluster) Sampling.
The resources that were used for the completion of the assignments are:
- Online lectures of the course, available on youtube.
- The corresponding slides, available in the course website.