This is a curated list of resources for machine learning on graph, including graph neural networks, graph convolutional networks, graph embedding, and more. The list includes research papers, blog posts, tutorials, open-source libraries, and datasets.
Table of contents
- Research Papers
- Blog Posts and Tutorials
- Free Courses
- Libraries and Frameworks
- Datasets
- Contributing
A Comprehensive Survey on Graph Neural Networks (ARXIV, 2019)
Graph Representation Learning: A Survey (ARXIV, 2019)
Graph Learning: A Survey (ARXIV, 2021)
Machine Learning on Graphs: A Model and Comprehensive Taxonomy (ARXIV, 2022)
Everything is Connected: Graph Neural Networks (ARXIV, 2023)
Graph Representation Learning Book
A Gentle Introduction to Graph Neural Networks (distill)
Understanding Convolutions on Graphs (distill)
Stanford CS224W: Machine Learning with Graphs: this course covers important research on the structure and analysis of such large social and information networks and on models and algorithms that abstract their basic properties. Students will explore how to practically analyze large-scale network data and how to reason about it through models for network structure and evolution.
AMMI Geometric Deep Learning Course - Second Edition (2022):
PyTorch Geometric: a library for deep learning on irregularly structured input data such as graphs, point clouds, and manifolds.
DGL (Deep Graph Library): a Python package built for easy implementation of graph neural networks.
Spektral: a Python library for building graph neural networks with Keras and TensorFlow, including support for a variety of graph convolutional layers and other useful utilities.
NetworkX: a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.
Graph-tool: Python library for working with graphs and networks. It provides a wide range of tools for graph analysis and visualization, including algorithms for community detection, centrality analysis, and more.
igraph: a library for creating and manipulating graphs in a variety of programming languages, including Python, R, and C/C++. It provides a comprehensive set of tools for graph analysis and visualization, including support for clustering, community detection, and more.
Gephi: is an open-source network analysis and visualization software. It allows users to explore, analyze, and visualize complex graphs and networks.
Cytoscape: is an open-source software platform for visualizing and analyzing networks. It provides a powerful set of features for network analysis and visualization, including support for a variety of network layouts, styles, and data.
Open Graph Benchmark (OGB): is a collection of realistic, large-scale, and diverse benchmark datasets for machine learning on graphs
Contributions are welcome! If you have any suggestions for resources to add or find any errors, please create an issue or pull request.