Colab Notebooks and Video Tutorials
===================================

Official Examples
-----------------

We have prepared a list of :colab:`Colab` notebooks that practically introduces you to the world of **Graph Neural Networks** with :pyg:`PyG`:

1. `Introduction: Hands-on Graph Neural Networks <https://colab.research.google.com/drive/1h3-vJGRVloF5zStxL5I0rSy4ZUPNsjy8?usp=sharing>`__
2. `Node Classification with Graph Neural Networks <https://colab.research.google.com/drive/14OvFnAXggxB8vM4e8vSURUp1TaKnovzX?usp=sharing>`__
3. `Graph Classification with Graph Neural Networks <https://colab.research.google.com/drive/1I8a0DfQ3fI7Njc62__mVXUlcAleUclnb?usp=sharing>`__
4. `Scaling Graph Neural Networks <https://colab.research.google.com/drive/1XAjcjRHrSR_ypCk_feIWFbcBKyT4Lirs?usp=sharing>`__
5. `Point Cloud Classification with Graph Neural Networks <https://colab.research.google.com/drive/1D45E5bUK3gQ40YpZo65ozs7hg5l-eo_U?usp=sharing>`__
6. `Explaining GNN Model Predictions using <https://colab.research.google.com/drive/1fLJbFPz0yMCQg81DdCP5I8jXw9LoggKO?usp=sharing>`__ :captum:`null` `Captum <https://colab.research.google.com/drive/1fLJbFPz0yMCQg81DdCP5I8jXw9LoggKO?usp=sharing>`__
7. `Customizing Aggregations within Message Passing <https://colab.research.google.com/drive/1KKw-VUDQuHhMo7sCd7ZaRROza3leBjRR?usp=sharing>`__
8. `Node Classification Instrumented with <https://colab.research.google.com/github/wandb/examples/blob/master/colabs/pyg/8_Node_Classification_(with_W&B).ipynb>`__ :wandb:`null` `Weights&Biases <https://colab.research.google.com/github/wandb/examples/blob/master/colabs/pyg/8_Node_Classification_(with_W&B).ipynb>`__
9. `Graph Classification Instrumented with <https://colab.research.google.com/github/wandb/examples/blob/pyg/graph-classification/colabs/pyg/Graph_Classification_with_PyG_and_W%26B.ipynb>`__ :wandb:`null` `Weights&Biases <https://colab.research.google.com/github/wandb/examples/blob/pyg/graph-classification/colabs/pyg/Graph_Classification_with_PyG_and_W%26B.ipynb>`__
10. `Link Prediction on MovieLens <https://colab.research.google.com/drive/1xpzn1Nvai1ygd_P5Yambc_oe4VBPK_ZT?usp=sharing>`__
11. `Link Regression on MovieLens <https://colab.research.google.com/drive/1N3LvAO0AXV4kBPbTMX866OwJM9YS6Ji2?usp=sharing>`__

All :colab:`Colab` notebooks are released under the MIT license.

Stanford CS224W Tutorials
-------------------------

.. image:: https://data.pyg.org/img/cs224w_tutorials.png
  :align: center
  :width: 941px
  :target: https://medium.com/stanford-cs224w

.. raw:: html

   <br/>

The :stanford:`null` `Stanford CS224W <http://web.stanford.edu/class/cs224w/>`__ course has collected a set of `graph machine learning tutorial blog posts <https://medium.com/stanford-cs224w>`__, fully realized with :pyg:`PyG`.
Students worked on projects spanning all kinds of tasks, model architectures and applications.
All tutorials also link to a :colab:`Colab` with the code in the tutorial for you to follow along with as you read it!

PyTorch Geometric Tutorial Project
----------------------------------

The :pyg:`null` `PyTorch Geometric Tutorial <https://github.com/AntonioLonga/PytorchGeometricTutorial>`__ project provides **video tutorials and** :colab:`null` **Colab notebooks** for a variety of different methods in :pyg:`PyG`:

1. Introduction [:youtube:`null` `YouTube <https://www.youtube.com/watch?v=JtDgmmQ60x8>`__, :colab:`null` `Colab <https://colab.research.google.com/github/AntonioLonga/PytorchGeometricTutorial/blob/main/Tutorial1/Tutorial1.ipynb>`__]
2. :pytorch:`PyTorch` basics [:youtube:`null` `YouTube <https://www.youtube.com/watch?v=UHrhp2l_knU>`__, :colab:`null` `Colab <https://colab.research.google.com/github/AntonioLonga/PytorchGeometricTutorial/blob/main/Tutorial2/Tutorial2.ipynb>`__]
3. Graph Attention Networks (GATs) [:youtube:`null` `YouTube <https://www.youtube.com/watch?v=CwsPoa7z2c8>`__, :colab:`null` `Colab <https://colab.research.google.com/github/AntonioLonga/PytorchGeometricTutorial/blob/main/Tutorial3/Tutorial3.ipynb>`__]
4. Spectral Graph Convolutional Layers [:youtube:`null` `YouTube <https://www.youtube.com/watch?v=Ghw-fp_2HFM>`__, :colab:`null` `Colab <https://colab.research.google.com/github/AntonioLonga/PytorchGeometricTutorial/blob/main/Tutorial4/Tutorial4.ipynb>`__]
5. Aggregation Functions in GNNs [:youtube:`null` `YouTube <https://www.youtube.com/watch?v=tGXovxQ7hKU>`__, :colab:`null` `Colab <https://colab.research.google.com/github/AntonioLonga/PytorchGeometricTutorial/blob/main/Tutorial5/Aggregation%20Tutorial.ipynb>`__]
6. (Variational) Graph Autoencoders (GAE and VGAE) [:youtube:`null` `YouTube <https://www.youtube.com/watch?v=qA6U4nIK62E>`__, :colab:`null` `Colab <https://colab.research.google.com/github/AntonioLonga/PytorchGeometricTutorial/blob/main/Tutorial6/Tutorial6.ipynb>`__]
7. Adversarially Regularized Graph Autoencoders (ARGA and ARGVA) [:youtube:`null` `YouTube <https://www.youtube.com/watch?v=hZkLu2OaHD0>`__, :colab:`null` `Colab <https://colab.research.google.com/github/AntonioLonga/PytorchGeometricTutorial/blob/main/Tutorial7/Tutorial7.ipynb>`__]
8. Graph Generation [:youtube:`null` `YouTube <https://www.youtube.com/watch?v=embpBq1gHAE>`__]
9. Recurrent Graph Neural Networks [:youtube:`null` `YouTube <https://www.youtube.com/watch?v=v7TQ2DUoaBY>`__, :colab:`null` `Colab (Part 1) <https://colab.research.google.com/github/AntonioLonga/PytorchGeometricTutorial/blob/main/Tutorial9/Tutorial9.ipynb>`__, :colab:`null` `Colab (Part 2) <https://colab.research.google.com/github/AntonioLonga/PytorchGeometricTutorial/blob/main/Tutorial9/RecGNN_tutorial.ipynb>`__]
10. DeepWalk and Node2Vec [:youtube:`null` `YouTube (Theory) <https://www.youtube.com/watch?v=QZQBnl1QbCQ>`__, :youtube:`null` `YouTube (Practice) <https://youtu.be/5YOcpI3dB7I>`__, :colab:`null` `Colab <https://colab.research.google.com/github/AntonioLonga/PytorchGeometricTutorial/blob/main/Tutorial11/Tutorial11.ipynb>`__]
11. Edge analysis [:youtube:`null` `YouTube <https://www.youtube.com/watch?v=m1G7oS9hmwE>`__, :colab:`null` `Colab (Link Prediction) <https://colab.research.google.com/github/AntonioLonga/PytorchGeometricTutorial/blob/main/Tutorial12/Tutorial12%20GAE%20for%20link%20prediction.ipynb>`__, :colab:`null` `Colab (Label Prediction) <https://colab.research.google.com/github/AntonioLonga/PytorchGeometricTutorial/blob/main/Tutorial12/Tutorial12%20Node2Vec%20for%20label%20prediction.ipynb>`__]
12. Data handling in :pyg:`PyG` (Part 1) [:youtube:`null` `YouTube <https://www.youtube.com/watch?v=Vz5bT8Xw6Dc>`__, :colab:`null` `Colab <https://colab.research.google.com/github/AntonioLonga/PytorchGeometricTutorial/blob/main/Tutorial14/Tutorial14.ipynb>`__]
13. Data handling in :pyg:`PyG` (Part 2) [:youtube:`null` `YouTube <https://www.youtube.com/watch?v=Q5T-JdyVCfs>`__, :colab:`null` `Colab <https://colab.research.google.com/github/AntonioLonga/PytorchGeometricTutorial/blob/main/Tutorial15/Tutorial15.ipynb>`__]
14. MetaPath2vec [:youtube:`null` `YouTube <https://www.youtube.com/watch?v=GtPoGehuKYY>`__, :colab:`null` `Colab <https://colab.research.google.com/github/AntonioLonga/PytorchGeometricTutorial/blob/main/Tutorial13/Tutorial13.ipynb>`__]
15. Graph pooling (DiffPool) [:youtube:`null` `YouTube <https://www.youtube.com/watch?v=Uqc3O3-oXxM>`__, :colab:`null` `Colab <https://colab.research.google.com/github/AntonioLonga/PytorchGeometricTutorial/blob/main/Tutorial16/Tutorial16.ipynb>`__]
