Giter Club home page Giter Club logo

dgl_winter_school's Introduction

Learning Graph Neural Networks with Deep Graph Library

Learning from graph and relational data plays a major role in many applications including social network analysis, marketing, e-commerce, information retrieval, knowledge modeling, medical and biological sciences, engineering, and others. In the last few years, Graph Neural Networks (GNNs) have emerged as a promising new supervised learning framework capable of bringing the power of deep representation learning to graph and relational data. This ever-growing body of research has shown that GNNs achieve state-of-the-art performance for problems such as link prediction, fraud detection, target-ligand binding activity prediction, knowledge-graph completion, and product recommendations.

This tutorial introduces graph neural networks with a set of hands-on tutorials written with Deep Graph Library (DGL), a scalable GNN framework that simplifies the development of efficient GNN-based training and inference programs at a large scale. It starts with a very simple example of showing graph neural networks with DGL. It goes through more details on how to use GNNs on three basic tasks (i.e., node classification, link prediction and graph classification) and how these models can be used on heterogeneous graphs (which has multiple node types and edge types). It further introduces the mini-batch training methods on large graphs for both node classification and link prediction.

Instructors: George Karypis, Da Zheng, Vasileios Ioannidis, Soji Adeshina

Agenda

Session Material Presenter
Overview of Deep Graph Library (DGL) slides George Karypis
(Hands-on) DGL & GNN 101 notebook Da Zheng
(Hands-on) GNN models for basic graph tasks notebook Vasileios Ioannidis
(Hands-on) GNN mini-batch training notebook Soji Adeshina

Section Content

  • Section 1: 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 2: DGL and GNN 101. This section introduces the basic operations in DGL, such as loading graph data to DGL and the graph query API. It introduces a simple GNN model called GraphSage and introduces multiple ways of implementing this model in DGL.
  • Section 3: GNN models for basic graph tasks. This section demonstrates how to use GNNs to solve three key graph learning tasks: node classification, link prediction, graph classification. It will also introduce heterogeneous graphs and the implementation of graph neural network models on heterogeneous graphs for the same tasks.
  • Section 4: GNN mini-batch training. This section uses some of the models described in Section 3 to demonstrate mini-batch training. 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 some sampling techniques. It then proceeds to illustrate how one such sampling technique, called neighbor sampling, can be implemented in DGL using a Jupyter notebook and how to use mini-batch training for both node classification and link prediction.

Community

Join our Slack channel "jhu-winter-school" for discussion.

dgl_winter_school's People

Contributors

bioannidis avatar karypis avatar sojiadeshina avatar zheng-da avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.