# CogDL v0.2:专注图深度学习研究与应用

项目链接 github.com/THUDM/cogdl

from cogdl import experiment

experiment(task="node_classification", dataset="cora", model="gcn")

Epoch: 499, Train: 1.0000, Val: 0.7920: 100%|██████████| 500/500
| Variant         | Acc           |
|-----------------|---------------|
| ('cora', 'gcn') | 0.8220±0.0000 |

1
2
3
4
5
6
7
8
9

2020年11月17日,CogDL发布了v0.1版本 图深度学习工具包 CogDL v0.1:一行即训练,上线以来受到大家的广泛关注,同时也收到了很多建议。现在,CogDL推出了更容易使用,更友好的v0.2版本。下面一起看看有哪些新功能吧~

# 更简单的调用机制

在之前的版本中,需要构造模型参数、数据集,建立模型,执行训练和验证等任务。在CogDL v0.2版本中,将任务、数据集、模型和参数,整合为experiment接口,只需直接调用experiment接口即可完成一行实现训练。

from cogdl import experiment

# basic usage
experiment(task="node_classification", dataset="cora", model="gcn")

# set other hyper-parameters
experiment(task="node_classification", dataset="cora", model="gcn", hidden_size=32, max_epoch=200)

# run over multiple models on different seeds
experiment(task="node_classification", dataset="cora", model=["gcn", "gat"], seed=[1, 2])
1
2
3
4
5
6
7
8
9
10

此外,experiment接口还整合了optuna的超参搜索功能,只需提供不同超参的搜索范围即可。具体使用方法如下:

from cogdl import experiment

# automl usage
def func_search(trial):
   return {
       "lr": trial.suggest_categorical("lr", [1e-3, 5e-3, 1e-2]),
       "hidden_size": trial.suggest_categorical("hidden_size", [32, 64, 128]),
       "dropout": trial.suggest_uniform("dropout", 0.5, 0.8),
   }

experiment(task="node_classification", dataset="cora", model="gcn", seed=[1, 2], func_search=func_search)
1
2
3
4
5
6
7
8
9
10
11

此外,该接口支持自定义模型和数据集,快来试试吧。

# Pipeline接口

新增pineline接口,通过调用pipeline接口可以很容易地实现一些有趣的应用,比如输出数据集的统计信息、节点的k阶邻居可视化等。值得一提的是,pipeline接口还支持调用OAGBert模型。该模型是我们实验室在大规模学术语料上训练的Bert模型。

from cogdl import pipeline

# print the statistics of datasets
stats = pipeline("dataset-stats")
stats(["cora", "citeseer"])

# visualize k-hop neighbors of seed in the dataset
visual = pipeline("dataset-visual")
visual("cora", seed=0, depth=3)

# load OAGBert model and perform inference
oagbert = pipeline("oagbert")
outputs = oagbert("CogDL is developed by KEG, Tsinghua.")
1
2
3
4
5
6
7
8
9
10
11
12
13

更多v0.2.0版本的内容请参见:https://github.com/THUDM/cogdl/releases/tag/0.2.0

CogDL 项目传送门:https://github.com/THUDM/cogdl ​ 欢迎关注和star CogDL!