Package: autogl
Auto Graph LearningChinese IntroductionAn autoML framework & toolkit for machine learning on graphs.Actively under development by @THUMNLabFeel free to openissuesor contact us atautogl@tsinghua.edu.cnif you have any comments or suggestions!News!2022.12.30 New version! v0.4.0-pre is here!We have proposedNAS-Bench-Graph(paper,code,tutorial), the first NAS-benchmark for graphs published in NeurIPS'22. By using AutoGL together with NAS-Bench-Graph, the performance estimation process of GraphNAS algorithms can be greatly speeded up.We have supported the graphrobustnessalgorithms in AutoGL, including graph structure engineering, robust GNNs and robust GraphNAS. Seerobustness tutorialfor more details.We have supported graphself-supervised learning! Seeself-supervised learning tutorialfor more details.2021.12.31 Version v0.3.0-pre is releasedSupportDeep Graph Library (DGL)backend including homogeneous node classification, link prediction, and graph classification tasks. AutoGL is also compatible with PyG 2.0 now.Supportheterogeneousnode classification! Seehetero tutorial.The modulemodelnow supportsdecoupledto two additional sub-modules namedencoderanddecoder. Under thedecoupleddesign, oneencodercan be used to solve all kinds of tasks.EnrichNAS algorithmssuch asAutoAttend,GASSO,hardware-aware algorithm, etc.2021.07.11 Version 0.2.0-pre is released, which supportsneural architecture search (NAS)to customize architectures, [sampling] (http://mn.cs.tsinghua.edu.cn/autogl/documentation/docfile/tutorial/t_trainer.html#node-classification-with-sampling) to perform tasks on large datasets, and link prediction.2021.04.16 Our survey paper about automated machine learning on graphs is accepted by IJCAI! See morehere.2021.04.10 Our paperAutoGL: A Library for Automated Graph Learningis accepted byICLR 2021 Workshop on Geometrical and Topological Representation Learning! You can cite our paper following methodshere.IntroductionAutoGL is developed for researchers and developers to conduct autoML on graph datasets and tasks easily and quickly. See our documentation for detailed information!The workflow below shows the overall framework of AutoGL.AutoGL usesdatasetsto maintain datasets for graph-based machine learning, which is based on Dataset in PyTorch Geometric or Deep Graph Library with some functions added to support the auto solver framework.Different graph-based machine learning tasks are handled by differentAutoGL solvers, which make use of five main modules to automatically solve given tasks, namelyauto feature engineer,neural architecture search,auto model,hyperparameter optimization, andauto ensemble.Currently, the following algorithms are supported in AutoGL:Feature EngineerModelNASHPOEnsembleGeneratorsGraphletsEigenGNNmore ...SelectorsSeFilterConstantgbdtGraphnetlsdNxAverageClusteringmore ...Homo EncodersGCNEncoderGATEncoderSAGEEncoderGINEncoderDecodersLogSoftmaxDecoderDotProductDecoderSumPoolMLPDecoderJKSumPoolDecoderAlgorithmsRandomRLEvolutionGASSOmore ...SpacesSinglePathGraphNasAutoAttendmore ...EstimatorsOneshotScratchGridRandomAnnealBayesCAMESMOCAMESQuasi randomTPEAutoNEVotingStackingThis toolkit also serves as a framework for users to implement and test their own autoML or graph-based machine learning models.InstallationRequirementsPlease make sure you meet the following requirements before installing AutoGL.Python >= 3.6.0PyTorch (>=1.6.0)seehttps://pytorch.org/for installation.Graph Library BackendYou will need either PyTorch Geometric (PyG) or Deep Graph Library (DGL) as the backend. You can select a backend followinghereif you install both.3.1 PyTorch Geometric (>=1.7.0)Seehttps://pytorch-geometric.readthedocs.io/en/latest/notes/installation.html/for installation.3.2 Deep Graph Library (>=0.7.0)Seehttps://dgl.ai/for installation.InstallationInstall from pipRun the following command to install this package throughpip.pip install autoglInstall from sourceRun the following command to install this package from the source.git clone https://github.com/THUMNLab/AutoGL.git
cd AutoGL
python setup.py installInstall for developmentIf you are a developer of the AutoGL project, please use the following command to create a soft link, then you can modify the local package without install them again.pip install -e .DocumentationPlease refer to ourdocumentationto see the detailed documentation.You can also make the documentation locally. First, please install sphinx and sphinx-rtd-theme:pip install -U Sphinx
pip install sphinx-rtd-themeThen, make an html documentation by:cd docs
make clean && make htmlThe documentation will be automatically generated underdocs/_build/htmlCitePlease citeour paperas follows if you find our code useful:@inproceedings{
guan2021autogl,
title={Auto{GL}: A Library for Automated Graph Learning},
author={Chaoyu Guan and Ziwei Zhang and Haoyang Li and Heng Chang and Zeyang Zhang and Yijian Qin and Jiyan Jiang and Xin Wang and Wenwu Zhu},
booktitle={ICLR 2021 Workshop on Geometrical and Topological Representation Learning},
year={2021},
url={https://openreview.net/forum?id=0yHwpLeInDn}
}You may also find oursurvey paperhelpful:@article{zhang2021automated,
  title={Automated Machine Learning on Graphs: A Survey},
  author={Zhang, Ziwei and Wang, Xin and Zhu, Wenwu},
  booktitle = {Proceedings of the Thirtieth International Joint Conference on Artificial Intelligence, {IJCAI-21}},
  year={2021},
  note={Survey track}
}LicenseWe followApache licenseacross the entire codebase from v0.2.