Package: sgl-dair
SGL: Scalable Graph LearningSGLis a Graph Neural Network (GNN) toolkit targeting scalable graph learning, which supports deep graph learning on
extremely large datasets. SGL allows users to easily implement scalable graph neural networks and evaluate its
performance on various downstream tasks like node classification, node clustering, and link prediction. Further, SGL
supports auto neural architecture search functionality based
onOpenBox. SGL is designed and
developed by the graph learning team from
theDAIR Labat Peking University.Why SGL？The key difference between SGL and existing GNN toolkits, such as PyTorch Geometric (PyG) and Deep Graph Library (DGL), is that, SGL enjoys the characteristics of the follwing three perspectives.High scalability: Following the scalable design paradigmSGAPinPaSca, SGL can scale to graph data with
billions of nodes and edges.Auto neural architecture search: SGL can automatically choose decent and scalable graph neural architectures according to specific tasks and
pre-defined multiple objectives (e.g., inference time, memory cost, and predictive performance).Ease of use: SGL has user-friendly interfaces for implementing existing scalable GNNs and executing various downstream tasks.InstallationSome datasets in SGL are constructed based
onPyG. Please follow the
link below to install PyG first before installing
SGL:https://pytorch-geometric.readthedocs.io/en/latest/notes/installation.html.Install from pipTo install SGL from PyPI:pipinstallsgl-dairQuick StartA quick start example is given by:fromsgl.datasetimportPlanetoidfromsgl.models.homoimportSGCfromsgl.tasksimportNodeClassificationdataset=Planetoid("pubmed","./","official")model=SGC(prop_steps=3,feat_dim=dataset.num_features,num_classes=dataset.num_classes)device="cuda:0"test_acc=NodeClassification(dataset,model,lr=0.1,weight_decay=5e-5,epochs=200,device=device).test_accAn example of the auto neural network search functionality is as follows:importtorchfromopenbox.optimizer.generic_smboimportSMBOfromsgl.dataset.planetoidimportPlanetoidfromsgl.search.search_configimportConfigManagerdataset=Planetoid("cora","./","official")device=torch.device(f"cuda:{0}"iftorch.cuda.is_available()else"cpu")## Define Initial Arch and Configurationinitial_arch=[2,0,1,2,3,0,0]configer=ConfigManager(initial_arch)configer._setParameters(dataset,device,128,200,1e-2,5e-4)## Define Search Parametersdim=7bo=SMBO(configer._configFunction,configer._configSpace(),num_objs=2,num_constraints=0,max_runs=3500,surrogate_type='prf',acq_type='ehvi',acq_optimizer_type='local_random',initial_runs=2*(dim+1),init_strategy='sobol',ref_point=[-1,0.00001],time_limit_per_trial=5000,task_id='quick_start',random_state=1)## Searchhistory=bo.run()print(history)The distributed version of the graph neural architecture search is built on the code used by our cooperation partner Tencent, and we will release this part ASAP.Related PublicationsPaSca: a Graph Neural Architecture Search System under the Scalable Paradigm[PDF]Wentao Zhang, Yu Shen, Zheyu Lin, Yang Li, Xiaosen Li, Wen Ouyang, Yangyu Tao, Zhi Yang, and Bin Cui.The world wide web conference.WWW 2022, CCF-A, 🏆 Best Student Paper Award (among 1822 submmisions)Node Dependent Local Smoothing for Scalable Graph Learning[PDF]Wentao Zhang, Mingyu Yang, Zeang Sheng, Yang Li, Wen Ouyang, Yangyu Tao, Zhi Yang, Bin Cui.Thirty-fifth Conference on Neural Information Processing Systems.NeurIPS 2021, CCF-A, Spotlight Presentation, Acceptance Rate: < 3%.NAFS: A Simple yet Tough-to-beat Baseline for Graph Representation Learning.[To appear]Wentao Zhang, Zeang Sheng, Mingyu Yang, Yang Li, Yu Shen, Zhi Yang, Bin Cui.The 39th International Conference on Machine Learning.ICML 2022, CCF-A.Deep and Flexible Graph Neural Architecture Search.[To appear]Wentao Zhang, Yu Shen, Zheyu Lin, Yang Li, Zhi Yang, Bin Cui.The 39th International Conference on Machine Learning.ICML 2022, CCF-A.An Empirical Study of Deep Graph Neural Networks.[To appear]Wentao Zhang, Zeang Sheng, Yuezihan Jiang, Yikuan Xia, Jun Gao, Zhi Yang, Bin Cui.SIGKDD Conference on Knowledge Discovery and Data Mining.KDD 2022, CCF-A.Graph Attention Multi-Layer Perceptron[PDF]Wentao Zhang, Ziqi Yin, Zeang Sheng, Wen Ouyang, Xiaosen Li, Yangyu Tao, Zhi Yang, Bin Cui.ACM SIGKDD Conference on Knowledge Discovery and Data Mining.KDD 2022, CCF-A, Rank #1 inOpen Graph BenchmarkOpenBox: A Generalized Black-box Optimization Service[PDF]Yang Li, Yu Shen, Wentao Zhang, Yuanwei Chen, ..., Wentao Wu, Zhi Yang, Ce Zhang, Bin Cui.ACM SIGKDD Conference on Knowledge Discovery and Data Mining.KDD 2021, CCF-A, top prize inopen-source innovation competition @ 2021 CCF ChinaSoftCiting SGLPlease cite ourpaperif you findSGLuseful in your work:@inproceedings{zhang2022pasca,
  title={PaSca: A Graph Neural Architecture Search System under the Scalable Paradigm},
  author={Zhang, Wentao and Shen, Yu and Lin, Zheyu and Li, Yang and Li, Xiaosen and Ouyang, Wen and Tao, Yangyu and Yang, Zhi and Cui, Bin},
  booktitle={Proceedings of the ACM Web Conference 2022},
  pages={1817--1828},
  year={2022}
}ContactIf you have any technical questions, please submit new issues.If you have any other questions, please contact: Wentao Zhang[wentao.zhang@pku.edu.cn] and Zeang Sheng[shengzeang18@pku.edu.cn].LicenseThe entire codebase is underMIT license.