DGL 项目介绍
DGL,深度图学习库(Deep Graph Library),是一个用于在图上进行深度学习的高性能且可扩展的Python工具包。它的设计框架灵活,支持多种深度学习框架,如PyTorch、Apache MXNet和TensorFlow,使开发者能在多种环境中部署和使用深度图模型。
项目特色
支持GPU的图处理库
DGL 提供了一个强大的图对象,可以位于CPU或GPU上进行运算。它集成了结构数据和功能特性,提供了多种用于图计算的功能,包括高效且可定制的消息传递原语,这对构建图神经网络(GNNs)尤为重要。
为GNN研究者和从业者提供的多功能工具
图深度学习领域发展迅速,不断涌现的新研究思路。在这种环境下,DGL-Go 提供了一个命令行界面,帮助用户学习和研究最新的GNN模型。DGL收集了丰富的示例实现,涵盖了广泛的话题和模型。研究人员可以从中获取灵感或将其用作基准进行实验。此外,DGL还提供了多种领先的GNN层和模块,以供用户构建新模型架构。
易于学习和使用
DGL提供了大量学习资源,无论是机器学习研究者还是领域专家,都可以从中获益。通过快速上手教程,用户可以在120分钟内走遍图机器学习的基础。更详细的用户指南则讲解了图的概念和训练方法,这些指南中包含了可执行的DGL代码片段,方便集成到用户自有的开发流程中。
可扩展且高效
DGL在处理大规模图数据时表现卓越,支持跨【多GPU】或【多机器】的分布式训练。它对整个栈进行了广泛优化,以降低通信、内存消耗及同步的开销,能够轻松扩展到十亿级别的图。从教程和用户指南开始,了解更多关于分布式训练的信息。
如何开始使用
用户可以通过 pip 和 conda 安装DGL,也可以从NVIDIA NGC下载支持GPU的DGL Docker 容器,该容器基于PyTorch运行。高级用户则可以遵循源代码安装说明进行安装。
对于初学者,可以从快速上手教程入手,该教程涵盖了常见图机器学习任务的基本概念,以及构建图神经网络(GNNs)的分步指南。
熟悉之后的用户可以:
- 使用仅需两行命令的DGL-Go 来体验领先的GNN模型。
- 通过DGL示例实现学习流行的GNN模型。
- 阅读用户指南(中文版链接),更深入地了解DGL的概念和使用方法。
- 学习关于GNNs的随机训练、多GPU或多机器训练的高级功能教程。
社区与扩展项目
DGL 拥有一个活跃的社区,开发者、用户以及GNN学术研究者可以通过多种渠道连接:
DGL 支持众多领域的扩展项目,如生命科学的 DGL-LifeSci、知识图谱嵌入的 DGL-KE,以及自然语言处理和图学习交叉领域的 Graph4NLP 等。
贡献与引用
DGL 欢迎任何形式的贡献,从修复错误到新增功能。想要了解更多关于如何做出贡献的信息,请查看 贡献指南。
如果在您的科学出版物中使用了DGL,请参照以下方式引用它:
@article{wang2019dgl,
title={Deep Graph Library: A Graph-Centric, Highly-Performant Package for Graph Neural Networks},
author={Minjie Wang and Da Zheng and Zihao Ye and Quan Gan and Mufei Li and Xiang Song and Jinjing Zhou and Chao Ma and Lingfan Yu and Yu Gai and Tianjun Xiao and Tong He and George Karypis and Jinyang Li and Zheng Zhang},
year={2019},
journal={arXiv preprint arXiv:1909.01315}
}
DGL由纽约大学、纽约大学上海、亚马逊AWS上海AI实验室和AWS MXNet科学团队开发和维护,并采用Apache 2.0许可协议。