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!
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
We follow MIT license across the entire codebase.