天天看點

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]

,也歡迎貢獻代碼。