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],也歡迎貢獻代碼。