1、AutoGL介绍
AutoGL是一个面向图机器学习的AutoML工具,由清华大学开源。其目前已直接支持在图上的多项任务,包括结点分类、链接预测、图分类、异构图结点分类等。感兴趣的小伙伴可以试一试
github链接:https://github.com/THUMNLab/AutoGL
文档链接:http://mn.cs.tsinghua.edu.cn/autogl/documentation/
2、AutoGL安装
由于AutoGL目前还在开发中,安装及初步使用(按照文档跑最简单的图结点分类问题)过程中遇到一些问题,在此记录,希望能对遇到类似问题的小伙伴有帮助。(本文操作均是在win10环境下进行的)
2.1 AutoGL安装前置准备
按照AutoGL的github链接中的说明,安装AutoGL前需要的前置条件如下:
- Python>=3.6.0
- PyTorch (>=1.6.0)
- 图形库后端:PyG或者DGL(这里我们选择的是DGL库)
首先,安装Python3.8,由于我使用的conda来管理python环境,因此直接使用conda来安装的
conda create -n AutoGLTest python=3.8
接下来安装Pytroch,由于我本机电脑上cuda为11版本,因此我安装的Pytorch版本为1.8,各种安装语句直接去Pytroch官网复制即可,链接:https://pytorch.org/get-started/previous-versions/#wheel-4
我使用的命令如下:
pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html
下面安装DGL库,去DGL官网找pip命令即可,链接:https://www.dgl.ai/pages/start.html
点击你需要的版本即可
pip install dgl-cu113 dglgo -f https://data.dgl.ai/wheels/repo.html
2.2 AutoGL安装
前置环境准备好后,终于到了安装AutoGL的时候了。
这里会出现第一个问题。AutoGL的github上给了大家三种安装方式,建议大家选择第二种Install from source的方式,因为pip的版本相对落后,利用pip安装会安装AutoGL的2.0版本,而目前AutoGL最新版本已经是3.0了,同时文档也是3.0。如果你选择pip安装,导致按照文档无法正确的跑通教程。所以建议大家用第二种方式,第三种方式应该也可以。
注意:我安装的时间是2022年3月9日,之后相信pip方式默认会更新到3.0版本的。第二种方式明略如下:
git clone https://github.com/THUMNLab/AutoGL.git
cd AutoGL
python setup.py install
AutoGL安装后,去跑示例代码,这个时候会出现第二个问题。
报错No module named ‘dateutil’,此时去命令行安装即可,安装命令如下:
pip install python-dateutil
此时命令行处会提醒你还有一些依赖包需要安装,按照要求依次安装即可
上述报错提醒安装的包均安装好后,再去运行示例代码,此时会出现第三个问题:
即报错ModuleNotFoundError: No module named ‘autogl.module.model.dgl.hetero’,此问题原因在于,git下载后安装后,在此AutoGLTest\Lib\site-packages\autogl-0.3.0rc0-py3.8.egg\autogl\module\model\dgl路径下无hetero文件夹,而AutoGL包是有hetero文件夹的,如下图所示。
所以下载一下这个hetero文件夹,并拷贝到你的python虚拟环境下的AutoGLTest\Lib\site-packages\autogl-0.3.0rc0-py3.8.egg\autogl\module\model\dgl中即可。包中的文件应该如下图所示:
至此,终于可以运行AutoGL文档中的示例部分了。
我运行的示例代码如下:
import os
os.environ["AUTOGL_BACKEND"] = 'dgl'
from autogl.datasets import build_dataset_from_name
cora_dataset = build_dataset_from_name('cora')
print(type(cora_dataset))
print(list(cora_dataset))
# print(cora_dataset.slices)
import torch
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
# device = "cpu"
from autogl.solver import AutoNodeClassifier
solver = AutoNodeClassifier(
# feature_module='dgl',
graph_models=['gcn', 'gat'],
hpo_module='anneal',
ensemble_module='voting',
device=device
)
solver.fit(cora_dataset, time_limit=3600)
solver.get_leaderboard().show()
总结
本文记录了一下安装AutoGL包时遇到的一些问题,希望能对新安装AutoGL的小伙伴有一些帮助。
之后我也会把我安装的虚拟环境上传至百度云,懒得动手安小伙伴也可以直接下载,放到conda的envs文件夹下面就可以使用了。
链接:https://pan.baidu.com/s/1mhnWaKTvDzv-3iSiX-pv7g
提取码:2tm1