天天看点

Graph-Learn(GL,原AliGraph) 面向大规模图神经网络的研发和应用而设计的一款分布式框架安装部署安装git安装依赖的三方库编译安装运行测试用例论文协议致谢

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]

,也欢迎贡献代码。