CogDL 是清华大学出品的图神经复现工具。它的用途是用最简单的方式,比如一行代码或命令行方式来复现各种经典图神经网络,并在适当的数据集上复现,以获取性能数据。
我们在炼丹时经常需要获取baseline数据,难道需要我们去复杂 地重现?这样很费时间呀。
有了CogDL, 一切都易如反掌。我们来看一个例子
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])
# 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)
如果编辑器都不想打开,怎么办?
那就用命令行吧:
比如,你想在wikipedia 上跑LINE,NetMF 的无监督 节点分类,给5个seeds, 那可以用以下的命令行来完成:
python scripts/train.py --task unsupervised_node_classification --dataset wikipedia --model line netmf --seed 0 1 2 3 4
怎么样?简单吧?
附上官方推荐的一些数据集: https://github.com/THUDM/cogdl/blob/master/cogdl/datasets/README.md
详情: https://github.com/THUDM/cogdl
如果你觉得它的算法模块不够用,还可以用PyG或DGL自己开发一些,确实挺方便。
炼丹时,对于Baseline, 我们需要的只是结果并不在乎过程,对不对?
我只是搬运工。