An autoML framework & toolkit for machine learning on graphs.
Actively under development by @THUMNLab
Feel free to open issues or contact us at autogl@tsinghua.edu.cn if you have any comments or suggestions!
- 2021.04.10 Our paper AutoGL: A Library for Automated Graph Learning are accepted in ICLR 2021 Workshop on Geometrical and Topological Representation Learning! You can cite our paper following methods here.
AutoGL is developed for researchers and developers to quickly conduct autoML on the graph datasets & tasks. See our documentation for detailed information!
The workflow below shows the overall framework of AutoGL.
AutoGL uses datasets
to maintain dataset for graph-based machine learning, which is based on Dataset in PyTorch Geometric with some support added to corporate with the auto solver framework.
Different graph-based machine learning tasks are solved by different AutoGL solvers
, which make use of four main modules to automatically solve given tasks, namely auto feature engineer
, auto model
, hyperparameter optimization
, and auto ensemble
.
Currently, the following algorithms are supported in AutoGL:
Feature Engineer | Model | HPO | Ensemble |
Generators graphlet eigen more ... Selectors SeFilterConstant gbdt Subgraph netlsd NxAverageClustering more ... |
Node Classification GCN GAT GraphSAGE Graph Classification GIN TopKPool |
Grid Random Anneal Bayes CAMES MOCAMES Quasi random TPE AutoNE |
Voting Stacking |
This toolkit also serves as a platform for users to implement and test their own autoML or graph-based machine learning models.
Please make sure you meet the following requirements before installing AutoGL.
-
Python >= 3.6.0
-
PyTorch (>=1.5.1)
see https://pytorch.org/ for installation.
-
PyTorch Geometric
see https://pytorch-geometric.readthedocs.io/en/latest/notes/installation.html for installation.
Run the following command to install this package through pip
.
pip install auto-graph-learning
Run the following command to install this package from the source.
git clone https://github.com/THUMNLab/AutoGL.git
cd AutoGL
python setup.py install
If 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 .
Please refer to our documentation to 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-theme
Then, make an html documentation by:
cd docs
make clean && make html
The documentation will be automatically generated under docs/_build/html
You can cite our paper as follows if you use this code in your own work:
@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}
}
We follow MIT license across the entire codebase.