A lightweight AutoML framework & toolkit for machine learning on graphs.
This is an extended package of AutoGL.
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!
- We have released the first version 0.1.0!
- We support Hyper-parameter Optimization (HPO) and Neural Architecture Search (NAS) with flexible pipelines!
- We also provide showcases for using graph machine learning for bioinformatics.
Our AutoGL-light library aims to serve automated graph machine learning and currently includes two main functionalities: graph hyperparameter optimization (HPO) and graph neural network architecture search (NAS). We plan to make this library compatible with various graph machine learning libraries as backends, but currently, we primarily support PyTorch Geometric. Compared to AutoGL, AutoGL-light does not fix the pipeline, i.e., it allows to freely incorporate graph HPO and graph NAS at any step of the workflow. We also expect AutoGL-light to be more user-friendly, especially for new users.
Graph HPO aims to automatically optimize the hyperparameters of models in graph machine learning. Currently, we support algorithms such as Grid, Random, Anneal, Bayes, CAMES, MOCAMES, Quasi random, TPE, and AutoNE for hyperparameter optimization. For more details, please refer to HPO documentations.
Graph NAS aims to automatically design and optimize neural network architectures for graph machine learning. It searches for the optimal architecture within a given search space. Currently, we support search algorithms including Random, RL, EA, ENAS, SPOS, GraphNAS, DARTS, GRNA, GASSO, and GRACES. For more details, please refer to NAS documentations.
To promote and showcase the usage of AutoGL-light, particularly in handlying various downstream graph tasks, we have included examples of applying AutoGL-light to bioinformatics using graph HPO and graph NAS, including ScGNN, MolCLR, and AutoGNNUQ. Please refer to example files.
Please make sure you meet the following requirements before installing AutoGL.
-
Python >= 3.6.0
-
PyTorch (>=1.6.0)
see https://pytorch.org/ for installation.
Run the following command to install this package through pip
.
pip install autogl-light
Run the following command to install this package from the source.
git clone https://github.com/THUMNLab/AutoGL-light.git
cd AutoGL-light
python setup.py install
If you are a developer of the AutoGL-light 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 cite our paper as 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 our survey paper helpful:
@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}
}
We follow Apache license across the entire codebase.