Graph-Learn(GL,原AliGraph) 面向大规模图神经网络的研发和应用而设计的一款分布式框架

简介: 它从实际问题出发,提炼和抽象了一套适合于当下图神经网络模型的编程范式, 并已经成功应用在阿里巴巴内部的诸如搜索推荐、网络安全、知识图谱等众多场景。

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

快速开始

图操作接口

GNN模型开发

论文

如果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。

致谢

GL孵化于阿里巴巴内部,由计算平台事业部-PAI团队、新零售智能引擎-智能计算实验室、安全部-数据与算法团队共同研发。 研发过程中收到很多有价值的反馈,代码也依赖了以下开源社区的优秀项目,一并感谢。

如果你在使用GL过程中遇到什么问题,请留言或发信至graph-learn@list.alibaba-inc.com,也欢迎贡献代码。

相关文章
|
11天前
|
人工智能 运维 物联网
AI在蜂窝网络中的应用前景
AI在蜂窝网络中的应用前景
23 3
|
3天前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
17 8
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
本文旨在通过深入浅出的方式,为读者揭示卷积神经网络(CNN)的神秘面纱,并展示其在图像识别领域的实际应用。我们将从CNN的基本概念出发,逐步深入到网络结构、工作原理以及训练过程,最后通过一个实际的代码示例,带领读者体验CNN的强大功能。无论你是深度学习的初学者,还是希望进一步了解CNN的专业人士,这篇文章都将为你提供有价值的信息和启发。
|
14天前
|
SQL 安全 前端开发
PHP与现代Web开发:构建高效的网络应用
【10月更文挑战第37天】在数字化时代,PHP作为一门强大的服务器端脚本语言,持续影响着Web开发的面貌。本文将深入探讨PHP在现代Web开发中的角色,包括其核心优势、面临的挑战以及如何利用PHP构建高效、安全的网络应用。通过具体代码示例和最佳实践的分享,旨在为开发者提供实用指南,帮助他们在不断变化的技术环境中保持竞争力。
|
12天前
RS-485网络中的标准端接与交流电端接应用解析
RS-485,作为一种广泛应用的差分信号传输标准,因其传输距离远、抗干扰能力强、支持多点通讯等优点,在工业自动化、智能建筑、交通运输等领域得到了广泛应用。在构建RS-485网络时,端接技术扮演着至关重要的角色,它直接影响到网络的信号完整性、稳定性和通信质量。
|
15天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第36天】探索卷积神经网络(CNN)的神秘面纱,揭示其在图像识别领域的威力。本文将带你了解CNN的核心概念,并通过实际代码示例,展示如何构建和训练一个简单的CNN模型。无论你是深度学习的初学者还是希望深化理解,这篇文章都将为你提供有价值的见解。
|
15天前
|
数据可视化 算法 安全
员工上网行为管理软件:S - PLUS 在网络统计分析中的应用
在数字化办公环境中,S-PLUS 员工上网行为管理软件通过精准的数据收集、深入的流量分析和直观的可视化呈现,有效帮助企业管理员工上网行为,保障网络安全和提高运营效率。
24 1
|
11天前
|
监控 网络协议 安全
员工网络监控软件:PowerShell 在网络监控自动化中的应用
在数字化办公环境中,企业对员工网络活动的监控需求日益增长。PowerShell 作为一种强大的脚本语言,能够有效实现员工网络监控自动化。本文介绍了如何使用 PowerShell 获取网络连接信息、监控特定网址的访问情况,并生成自动化报告,帮助企业高效管理员工网络活动,确保网络安全和合规性。
23 0
|
13天前
|
网络协议 Unix Linux
精选2款C#/.NET开源且功能强大的网络通信框架
精选2款C#/.NET开源且功能强大的网络通信框架
|
13天前
|
网络协议 网络安全 Apache
一个整合性、功能丰富的.NET网络通信框架
一个整合性、功能丰富的.NET网络通信框架

热门文章

最新文章

下一篇
无影云桌面