Package: opengsl
Overview•Installation•Examples•Docs•CitationOpenGSLOfficial code forOpenGSL: A Comprehensive Benchmark for Graph Structure Learning. OpenGSL is a comprehensive benchmark forGraph Structure Learning(GSL). GSL is a family of data-centric learning approaches which jointly optimize the graph structure and the corresponding GNN models. It has great potential in many real-world applications, including disease analysis, protein structure prediction, etc.Overview of the BenchmarkOpenGSL provides a fair and comprehensive platform to evaluate existing GSL works and facilitate future GSL research.InstallationNote:OpenGSL depends onPyTorch,PyTorch Geometric,PyTorch SparseandDEEP GRAPH LIBRARY (DGL). To streamline the installation, OpenGSL doesNOTinstall these libraries for you. Please install them from the above links for running OpenGSL:torch>=1.9.1torch_geometric>=2.1.0torch_sparse>=0.6.12dgl>=0.9.0Installing with PippipinstallopengslInstallation for local development:gitclonehttps://github.com/OpenGSL/OpenGSLcdopengsl
pipinstall-e.Required Dependencies:Python 3.7+ruamel.yamlpandasscipyscikit-learnpyro-apipyro-pplnumba🚀Quick StartYou can use the commandpython examples/gcn_cora.pyor follow the 4 steps.The following example shows you how to runGRCNon the Cora dataset.Step 1: Load configurationimportopengslconf=opengsl.config.load_conf(method="grcn",dataset="cora")Method and Dataset parameters in Built-in configuration (Updated Frequently)method：gcn,prognn,idgl,grcn,gaug,slaps,nodeformer,gen,cogsl,segsl,sublime,stable,wsgnn,glcn,bmgcndataset：cora,pubmed,citeseer,blogcatalog,flickr,amazon-ratings,questions,minesweeper,roman-empire,wiki-cooc,wikicsStep 2: Load datadataset=opengsl.data.Dataset("cora",n_splits=1,feat_norm=conf.dataset['feat_norm'])Step 3: Build Modelsolver=opengsl.method.GRCNSolver(conf,dataset)Step 4: Training and Evaluationexp=opengsl.ExpManager(solver)exp.run(n_runs=10)⚙️Build Your Own GSLOpenGSL provides an easy way to build GSL algorithm based on several components.if you want to learn how to build own GSL method, seeBuild Your Own GSL.ipynbfor more details.📱️Updates2023.11.1 Version 0.0.6 available!A General GSL modeladded.New GSL methods WSGNN, GLCN and BMGCN added.New datasets including Wikics, Ogbn-arxiv and CSBM synthetic graphs.APPNP and GIN can be used as backbones for various GSL methods.Other minor updates.How to ContributeAs an active research topic, we are witnessing the rapid development of GSL methods.
Hence, this project will be frequently updated, and we welcome everyone interested in this topic to contribute!Please feel free to send PR or issue!CitationOur paper on this benchmark will be released soon!If you use our benchmark in your works, we would appreciate citations to the paper:@article{zhou2023opengsl,title={OpenGSL: A Comprehensive Benchmark for Graph Structure Learning},author={Zhiyao Zhou, Sheng Zhou, Bochao Mao, Xuanyi Zhou, Jiawei Chen, Qiaoyu Tan, Daochen Zha, Can Wang, Yan Feng, Chun Chen},journal={arXiv preprint arXiv:2306.10280},year={2023}}ReferenceIDPaperMethodConference1Semi-supervised classification with graph convolutional networksGCNICLR 20172Learning Discrete Structures for Graph Neural NetworksLDSICML 20193Graph Structure Learning for Robust Graph Neural NetworksProGNNKDD 20204Iterative Deep Graph Learning for Graph Neural Networks: Better and Robust Node EmbeddingsIDGLNeurIPS 20205Graph-Revised Convolutional NetworkGRCNECML-PKDD 20206Data Augmentation for Graph Neural NetworksGAug(O)AAAI 20217SLAPS: Self-Supervision Improves Structure Learning for Graph Neural NetworksSLAPSICML 20218Variational Inference for Training Graph Neural Networks in Low-Data Regime through Joint Structure-Label EstimationWSGNNKDD 20229Nodeformer: A scalable graph structure learning transformer for node classificationNodeformerNeurIPS 202210Graph Structure Estimation Neural NetworksGENWWW 202111Compact Graph Structure Learning via Mutual Information CompressionCoGSLWWW 202212SE-GSL: A General and Effective Graph Structure Learning Framework through Structural Entropy OptimizationSEGSLWWW 202313Towards Unsupervised Deep Graph Structure LearningSUBLIMEWWW 202214Reliable Representations Make A Stronger Defender: Unsupervised Structure Refinement for Robust GNNSTABLEKDD 202215Semi-Supervised Learning With Graph Learning-Convolutional NetworksGLCNCVPR 201915Block Modeling-Guided Graph Convolutional Neural NetworksBM-GCNAAAI 2022