Welcome to AutoGL's documentation!
==================================
AutoGL
------
*Actively under development by @THUMNLab*
AutoGL is developed for researchers and developers to quickly conduct autoML on the graph datasets & tasks.
The workflow below shows the overall framework of AutoGL.
.. image:: ../resources/workflow.svg
:align: center
AutoGL uses ``AutoGL Dataset`` to maintain datasets for graph-based machine learning, which is based on the dataset in PyTorch Geometric or Deep Graph Library 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``, ``Neural Architecture Search``, ``HyperParameter Optimization``, and ``Auto Ensemble``.
Installation
------------
Requirements
~~~~~~~~~~~~
Please make sure you meet the following requirements before installing AutoGL.
1. Python >= 3.6.0
2. PyTorch (>=1.6.0)
see `PyTorch `_ for installation.
3. Graph Library Backend
You will need either PyTorch Geometric (PyG) or Deep Graph Library (DGL) as the backend.
3.1 PyTorch Geometric (>=1.7.0)
see for installation.
3.2 Deep Graph Library (>=0.7.0)
see for installation.
Installation
~~~~~~~~~~~~
Install from pip & conda
^^^^^^^^^^^^^^^^^^^^^^^^
Run the following command to install this package through pip.
.. code-block:: shell
pip install autogl
Install from source
^^^^^^^^^^^^^^^^^^^
Run the following command to install this package from the source.
.. code-block:: shell
git clone https://github.com/THUMNLab/AutoGL.git
cd AutoGL
python setup.py install
Install for development
^^^^^^^^^^^^^^^^^^^^^^^
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 installation again.
.. code-block:: shell
pip install -e .
Modules
-------
In AutoGL, the tasks are solved by corresponding solvers, which in general do the following things:
1. Preprocess and feature engineer the given datasets. This is done by the module named **auto feature engineer**, which can automatically add/delete useful/useless attributes in the given datasets. Some topological features may also be extracted & combined to form stronger features for current tasks.
2. Find the best suitable model architectures through neural architecture search. This is done by modules named **nas**. AutoGL provides several search spaces, algorithms and estimators for finding the best architectures.
2. Automatically train and tune popular models specified by users. This is done by modules named **auto model** and **hyperparameter optimization**. In the auto model, several commonly used graph deep models are provided, together with their hyperparameter spaces. These kinds of models can be tuned using **hyperparameter optimization** module to find the best hyperparameter for the current task.
3. Find the best way to ensemble models found and trained in the last step. This is done by the module named **auto ensemble**. The suitable models available are ensembled here to form a more powerful learner.
.. toctree::
:maxdepth: 2
:caption: Tutorial
docfile/tutorial/t_quickstart
docfile/tutorial/t_hetero_node_clf
docfile/tutorial/t_homo_graph_classification_gin
docfile/tutorial/t_backend
docfile/tutorial/t_dataset
docfile/tutorial/t_fe
docfile/tutorial/t_model
docfile/tutorial/t_trainer
docfile/tutorial/t_ssl_trainer
docfile/tutorial/t_hpo
docfile/tutorial/t_nas
docfile/tutorial/t_nas_bench_graph
docfile/tutorial/t_robust
docfile/tutorial/t_ensemble
docfile/tutorial/t_solver
.. toctree::
:maxdepth: 2
:caption: 中文教程
docfile/tutorial_cn/t_quickstart
docfile/tutorial_cn/t_hetero_node_clf
docfile/tutorial_cn/t_homo_graph_classification_gin
docfile/tutorial_cn/t_backend
docfile/tutorial_cn/t_dataset
docfile/tutorial_cn/t_fe
docfile/tutorial_cn/t_model
docfile/tutorial_cn/t_trainer
docfile/tutorial_cn/t_ssl_trainer
docfile/tutorial_cn/t_hpo
docfile/tutorial_cn/t_nas
docfile/tutorial_cn/t_nas_bench_graph
docfile/tutorial_cn/t_robust
docfile/tutorial_cn/t_ensemble
docfile/tutorial_cn/t_solver
.. toctree::
:maxdepth: 2
:caption: Documentation
docfile/documentation/data
docfile/documentation/dataset
docfile/documentation/feature
docfile/documentation/model
docfile/documentation/train
docfile/documentation/hpo
docfile/documentation/nas
docfile/documentation/ensemble
docfile/documentation/solver
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`