You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

t_quickstart.rst 3.6 kB

4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. .. _quickstart_cn:
  2. 快速开始
  3. ===========
  4. 本教程将帮助您快速了解智图(AutoGL)中重要类的概念和用法。在本教程中,您将在数据集`Cora`_上进行快速的自动图学习。
  5. .. _Cora: https://graphsandnetworks.com/the-cora-dataset/
  6. 智图
  7. ---------------
  8. 基于自动机器学习(AutoML)的概念,自动图学习的目标是用图数据**自动地**解决任务。与传统的学习框架不同,自动图学习不需要人工参与实验循环。您只需要向智图求解器提供数据集和任务,本框架将自动为您找到合适的方法和超参数。
  9. 下图描述了智图框架的工作流程。
  10. 为了达到自动机器学习的目标,我们提出的自动图学习框架组织如下。我们用 ``数据集(dataset)``来维护由用户给出的图形数据集。为了指定目标任务,需要构建一个 ``求解器(solver)``对象。 ``求解器``内部,有五个子模型来帮助完成完成自动图学习任务,即 ``自动特征工程``, ``自动模型``, ``神经架构搜索``, ``超参数优化``和 ``自动集成学习``来根据您的需求自动预处理/增强您的数据,选择和优化深度模型并集成。
  11. 假设你想在数据集 ``Cora``上进行自动图学习。首先,您可以通过 ``dataset``模块得到 ``Cora``数据集:
  12. .. code-block:: python
  13. from autogl.datasets import build_dataset_from_name
  14. cora_dataset = build_dataset_from_name('cora')
  15. 数据集将自动下载给您。请参考:ref:`dataset`或:ref:`dataset documentation`获取更多关于数据集构造、可用数据集、添加本地数据集等详细信息。
  16. 在导出数据集之后,您可以构建一个 ``节点分类求解器(node classification solver)``来处理自动训练过程:
  17. .. code-block:: python
  18. import torch
  19. device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
  20. from autogl.solver import AutoNodeClassifier
  21. solver = AutoNodeClassifier(
  22. feature_module='deepgl',
  23. graph_models=['gcn', 'gat'],
  24. hpo_module='anneal',
  25. ensemble_module='voting',
  26. device=device
  27. )
  28. 通过这种方式,我们构建了一个 ``节点分类求解器``,它使用 ``deepgl``进行特征工程,并使用 ``anneal``超参数优化器对给定的三个模型“ ``['gcn','gat']``进行优化。派生的模型将使用 ``voting``集成器进行集成。请参考相应的教程或文档,以了解可用子模块的定义和用法。
  29. Then, you can fit the solver and then check the leaderboard:
  30. 接下来,你可以安装求解器,然后查看排行榜:
  31. .. code-block:: python
  32. solver.fit(cora_dataset, time_limit=3600)
  33. solver.get_leaderboard().show()
  34. ``time_limit``设置为3600,这样整个自动绘图过程不会超过1小时。 ``solver.show()``将显示由 ``solver``维护的模型,以及它们在验证数据集上的性能。
  35. 然后,你可以使用提供的评估函数进行预测和结果评估:
  36. .. code-block:: python
  37. from autogl.module.train import Acc
  38. predicted = solver.predict_proba()
  39. print('Test accuracy: ', Acc.evaluate(predicted,
  40. cora_dataset.data.y[cora_dataset.data.test_mask].cpu().numpy()))
  41. .. 注意:: 当预测时,你不需要再次传递``cora_dataset``,因为数据集被``求解器``**记住**,预测时如果没有传递数据集将被重用。然而,您也可以在预测时传递一个新的数据集,新的数据集将被使用,而不是被记住的数据集。详情请参考:ref:`solver`或:ref:`solver documentation`。