Graph-Learn(GL,原AliGraph) 是面向大规模图神经网络的研发和应用而设计的一款分布式框架, 它从实际问题出发,提炼和抽象了一套适合于当下图神经网络模型的编程范式, 并已经成功应用在阿里巴巴内部的诸如搜索推荐、网络安全、知识图谱等众多场景。
GL注重可移植和可扩展,对于开发者更为友好,为了应对GNN在工业场景中的多样性和快速发展的需求。 基于GL,开发者可以实现一种GNN算法,或者面向实际场景定制化一种图算子,例如图采样。 GL的接口以Python和NumPy的形式提供,可与TensorFlow或PyTorch兼容但不耦合。 目前GL内置了一些结合TensorFlow开发的经典模型,供用户参考。 GL可运行于Docker内或物理机上,支持单机和分布式两种部署模式。
安装部署
我们以
Ubuntu 16.04
下基于
g++ 5.4.0
编译为例,来说明从源码编译安装的步骤。
安装git
sudo apt-get install git-all
安装依赖的三方库
sudo apt-get install autoconf automake libtool libssl-dev cmake python-numpy python-setuptools python-pip
编译
- 下载源代码
git clone https://github.com/alibaba/graph-learn.git
cd graph-learn
git submodule update --init
- 编译C++ UT
make test
- 编译python安装包
make python
安装
sudo pip install dist/your_wheel_name.whl
目前,GL提供的模型示例基于TensorFlow 1.12开发,需要安装对应的版本。
sudo pip install tensorflow==1.12.0
运行测试用例
source env.sh
./test_cpp_ut.sh
./test_python_ut.sh
快速开始
https://github.com/alibaba/graph-learn#%E5%9B%BE%E6%93%8D%E4%BD%9C%E6%8E%A5%E5%8F%A3 图操作接口
https://github.com/alibaba/graph-learn#gnn%E6%A8%A1%E5%9E%8B%E5%BC%80%E5%8F%91 GNN模型开发
https://github.com/alibaba/graph-learn#%E8%AE%BA%E6%96%87 论文
如果GL对你的工作有所帮助,请引用如下论文。
@article{zhu2019aligraph,
title={AliGraph: a comprehensive graph neural network platform},
author={Zhu, Rong and Zhao, Kun and Yang, Hongxia and Lin, Wei and Zhou, Chang and Ai, Baole and Li, Yong and Zhou, Jingren},
journal={Proceedings of the VLDB Endowment},
volume={12},
number={12},
pages={2094--2105},
year={2019},
publisher={VLDB Endowment}
}
协议
Apache License 2.0。
https://github.com/alibaba/graph-learn#%E8%87%B4%E8%B0%A2 致谢
GL孵化于阿里巴巴内部,由计算平台事业部-PAI团队、新零售智能引擎-智能计算实验室、安全部-数据与算法团队共同研发。 研发过程中收到很多有价值的反馈,代码也依赖了以下开源社区的优秀项目,一并感谢。
如果你在使用GL过程中遇到什么问题,请留言或发信至
[email protected],也欢迎贡献代码。