图神经网络框架 DGL V0.6发布,更快更好用

2021 年 3 月 1 日 图与推荐

DGL v0.6 终于如约而至。新版DGL在很多方面都做了重要的改进和提升。其中增加了新的入门教程和文档,新的API,同时对系统易用性和性能也做了一次大更新。让我们来看看新版本具体有哪些变化吧!


新教程:120分钟快速上手DGL —— 从小白到实战

这一全新的DGL系列教程是DGL团队对多个主要的学术会议上的实战教程的总结,并进一步优化和精炼而成。教程从最简单的点分类问题出发,逐步展示了DGL的核心组件,如DGLGraph、GNN模型库和图数据集等。现在登陆文档主页https://docs.dgl.ai/就可以阅览该教程。



新教程:面向大规模图数据的GNN批次训练

真实世界里的数据规模是巨大的,这就需要对GNN模型进行批次训练(mini-batch training)。然而,不同于面向图片和文本数据的训练算法,GNN的批次训练更加复杂。这是因为模型需要处理图数据样本间存在的依赖关系。DGL团队在官方论坛上也注意到GNN模型的批次训练是被问到次数最多的主题之一。在0.6版里,DGL团队发布了针对GNN批次训练的全新教程。该教程详细阐述了邻居采样算法的原理,并介绍了如何使用DGL编写训练代码。同样,该教程也已经上传至官方文档主页https://docs.dgl.ai/。


中文版用户指南

经过14位社区小伙伴的努力,DGL用户指南中文版终于上线了!现在登陆官方文档主页,并在边栏选择“用户指南”即可开始阅览!



更多模型实现样例

本次更新还发布了13个新的模型实现样例,使得DGL实现的论文样例总数达到72个。以下为新样例的名称和链接:


  • MixHop: Higher-Order Graph Convolutional Architectures via Sparsified Neighborhood Mixing: https://github.com/dmlc/dgl/tree/master/examples/pytorch/mixhop

  • Self-Attention Graph Pooling: https://github.com/dmlc/dgl/tree/master/examples/pytorch/sagpool

  • GNN-FiLM: Graph Neural Networks with Feature-wise Linear Modulation: https://github.com/dmlc/dgl/tree/master/examples/pytorch/GNN-FiLM

  • TensorFlow implementation of Simplifying Graph Convolutional Networks: https://github.com/dmlc/dgl/tree/master/examples/tensorflow/sgc

  • Graph Representation Learning via Hard and Channel-Wise Attention Networks: https://github.com/dmlc/dgl/tree/master/examples/pytorch/hardgat

  • Graph Random Neural Network for Semi-Supervised Learning on Graphs: https://github.com/dmlc/dgl/tree/master/examples/pytorch/grand

  • Hierarchical Graph Pooling with Structure Learning: https://github.com/dmlc/dgl/tree/master/examples/pytorch/hgp_sl

  • Towards Deeper Graph Neural Networks: https://github.com/dmlc/dgl/tree/master/examples/pytorch/dagnn

  • PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation/PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space (part segmentation): https://github.com/dmlc/dgl/tree/master/examples/pytorch/pointcloud/pointnet

  • Graph Cross Networks with Vertex Infomax Pooling: https://github.com/dmlc/dgl/tree/master/examples/pytorch/gxn

  • Neural Graph Collaborative Filtering: https://github.com/dmlc/dgl/tree/master/examples/pytorch/NGCF

  • Link Prediction Based on Graph Neural Networks: https://github.com/dmlc/dgl/tree/master/examples/pytorch/seal

  • Graph Neural Networks with Convolutional ARMA Filters: https://github.com/dmlc/dgl/tree/master/examples/pytorch/arma

此外,DGL团队也对官方样例目录进行了整理。对样例按照一些重要的标签(如目标任务等)进行了索引。


系统易用性的改进

  • 针对用户进行批次图(batched graph)进行变化的过程中无法手动设置批次信息的问题,DGL提供了两个新的API DGLGraph.set_batch_num_nodes 和 DGLGraph.set_batch_num_edges 。

  • 针对整图分类任务提供了一个的数据加载器 GraphDataLoader。

  • 提供了一个新的内置数据集QM9Dataset。

  • 提供了一个新的子模块dgl.nn.functional,用于NN相关的函数。

  • 增加了对于半精度训练的支持,并和PyTorch的自动混合精度包相互兼容。用户可以查看用户手册了解使用方法。

  • (测试版本功能) 增加了DistGraph类对于异构图数据的支持,同时也增加了dgl.sample_neighbors对DistGraph进行异构采样。此外,新版本DGL也增加了在分布式环境下进行图划分的支持。用户可以查看用户手册了解使用方法。

  • (测试版本功能) 增加了一些针对稀疏嵌入(Embedding)的新API:

  • 提供了一个新的类dgl.nn.NodeEmbedding用于存储可训练的节点嵌入。经测试,该类可以支持百万级别的节点嵌入。

  • 提供了两个新的优化器dgl.optim.SparseAdagrad 和 dgl.optim.SparseAdam,用于优化dgl.nn.NodeEmbedding。


系统效率的改进

通过使用PyTorch原生的内存管理机制,DGL减少了许多内存分配和释放的次数,从而提高了整体运行效率。


对nn.RelGraphConv进行了优化。在V100 GPU上的基准性能测试显示,它在AIFB数据集上有了4.8倍的训练速度提升。


想要了解更多?

请参阅完整的发布日志:

https://github.com/dmlc/dgl/releases/tag/v0.6.0


登录查看更多
1

相关内容

专知会员服务
92+阅读 · 2021年5月25日
【KDD2020】图神经网络:基础与应用,322页ppt
专知会员服务
75+阅读 · 2020年8月30日
系列教程GNN-algorithms之六:《多核卷积拓扑图—TAGCN》
专知会员服务
45+阅读 · 2020年8月8日
一份简单《图神经网络》教程,28页ppt
专知会员服务
119+阅读 · 2020年8月2日
近期必读的12篇KDD 2019【图神经网络(GNN)】相关论文
专知会员服务
62+阅读 · 2020年1月10日
Github热门图深度学习(GraphDL)源码与框架
新智元
21+阅读 · 2019年3月19日
比DGL快14倍:PyTorch图神经网络库PyG上线了
机器之心
7+阅读 · 2019年3月9日
专栏 | 手把手教你用DGL框架进行批量图分类
机器之心
14+阅读 · 2019年1月29日
清华大学图神经网络综述:模型与应用
机器之心
72+阅读 · 2018年12月26日
图神经网络综述:模型与应用
PaperWeekly
193+阅读 · 2018年12月26日
Arxiv
0+阅读 · 2021年10月14日
Arxiv
0+阅读 · 2021年10月3日
Arxiv
7+阅读 · 2021年7月5日
Arxiv
38+阅读 · 2020年12月2日
Arxiv
15+阅读 · 2020年2月5日
EfficientDet: Scalable and Efficient Object Detection
Arxiv
6+阅读 · 2019年11月20日
Self-Attention Graph Pooling
Arxiv
13+阅读 · 2019年6月13日
Arxiv
9+阅读 · 2018年2月4日
VIP会员
相关VIP内容
专知会员服务
92+阅读 · 2021年5月25日
【KDD2020】图神经网络:基础与应用,322页ppt
专知会员服务
75+阅读 · 2020年8月30日
系列教程GNN-algorithms之六:《多核卷积拓扑图—TAGCN》
专知会员服务
45+阅读 · 2020年8月8日
一份简单《图神经网络》教程,28页ppt
专知会员服务
119+阅读 · 2020年8月2日
近期必读的12篇KDD 2019【图神经网络(GNN)】相关论文
专知会员服务
62+阅读 · 2020年1月10日
相关论文
Arxiv
0+阅读 · 2021年10月14日
Arxiv
0+阅读 · 2021年10月3日
Arxiv
7+阅读 · 2021年7月5日
Arxiv
38+阅读 · 2020年12月2日
Arxiv
15+阅读 · 2020年2月5日
EfficientDet: Scalable and Efficient Object Detection
Arxiv
6+阅读 · 2019年11月20日
Self-Attention Graph Pooling
Arxiv
13+阅读 · 2019年6月13日
Arxiv
9+阅读 · 2018年2月4日
Top
微信扫码咨询专知VIP会员