## Agenda

8:00-8:45 Overview of Graph Neural Networks slides George Karypis

8:45-9:30 Overview of Deep Graph Library (DGL) slides Zheng Zhang

9:30-10:00 Coffee Break

10:00-11:30 (Hands-on) GNN models for basic graph tasks notebook Minjie Wang

11:30-2:00 Lunch Break2:00-3:30(Hands-on) GNN training on large graphs notebook Da Zheng

3:30-4:00 Coffee Break4:00-5:30(Hands-on) GNN models for real-world applications notebook Quan Gan

## Section Content

**Section 1: Overview of Graph Neural Networks.**This section describes how graph neural networks operate, their underlying theory, and their advantages over alternative graph learning approaches. In addition, it describes various learning problems on graphs and shows how GNNs can be used to solve them.**Section 2: Overview of Deep Graph Library (DGL).**This section describes the different abstractions and APIs that DGL provides, which are designed to simplify the implementation of GNN models, and explains how DGL interfaces with MXNet, Pytorch, and TensorFlow. It then proceeds to introduce DGL’s message-passing API that can be used to develop arbitrarily complex GNNs and the pre-defined GNN nn modules that it provides.**Section 3: GNN models for basic graph tasks.**This section demonstrates how to use GNNs to solve four key graph learning tasks: node classification, link prediction, graph classification, and network embedding pre-training. It will show how GraphSage, a popular GNN model, can be implemented with DGL’s nn module and show how the node embeddings computed by GraphSage can be used in different types of downstream tasks. In addition, it will demonstrate the implementation of a customized GNN model with DGL’s message passing interface.**Section 4: GNN training on large graphs.**This section uses some of the models described in Section 3 to demonstrate mini-batch training, multi-GPU training, and distributed training in DGL. It starts by describing how the concept of mini-batch training applies to GNNs and how mini-batch computations can be sped up by using various sampling techniques. It then proceeds to illustrate how one such sampling technique, called neighbor sampling, can be implemented in DGL using a Jupyter notebook. This notebook is then extended to show multi-GPU training and distributed training.**Section 5: GNN models for real-world applications.**This section uses the techniques described in the earlier sections to show how GNNs can be used to develop scalable solutions for recommendation and fraud detection. For recommendation, it develops a nearest-neighbor item-based recommendation method that employs a GNN model to learn item embeddings by following an end-to-end learning approach. For fraud detection, it extends the node classification model in the previous section to work on heterogeneous graphs and addresses the scenario where there exist few labelled samples.