CogDL: 基于图的深度学习开源工具包
视频 ↑
项目页面:http://keg.cs.tsinghua.edu.cn/cogdl
GitHub 链接:https://github.com/THUDM/cogdl
下面简单介绍一下 CogDL 当前在各个图任务上不同算法的对比情况(排行榜),包括节点分类(分为是否具有节点属性),链接预测(分为同构和异构),图分类(分有监督和无监督)。
无监督多标签节点分类
这是一个根据无监督的多标签节点分类设置而构建的排行榜,研究团队在几个真实的数据集上运行 CogDL 上的无监督表示学习算法,并将输出的表示和 90% 的节点标签作为经 L2 归一化的逻辑回归中的训练数据,使用剩余 10% 的标签作为测试数据,计算并按照 Micro-F1 的大小进行排序。
异构节点分类
对于异构的节点分类任务,研究团队使用 Macro F1 来评价模型的效果,在 GTN 算法的实验设置和数据集下对所有算法进⾏评估。
链接预测
对于链接预测任务,我们通过隐去数据集中 10% 的边,然后对隐去的边进⾏预测,使用 ROC-AUC 指标来评估模型的性能。ROC-AUC 指标代表了一条随机未观察到的边对应的两个节点比一条随机不存在的边对应的两个节点更相似的概率。
图分类
CogDL 怎么用?
https://github.com/pytorch/pytorch#installation
https://github.com/rusty1s/pytorch_geometric/#installation
pip install -e .
基本用法可以使用 python train.py --task example_task --dataset example_dataset --model example_method 来在 example_data 上运行 example_method 并使用 example_task 来评测结果。
--task,运行的任务名称,像 node_classification,unsupervised_node_classification,link_prediction 这样来评测表示质量的下游任务;
--dataset,运行的数据集名称,可以是以空格分隔开的数据集名称的列表,现在⽀持的数据集包括 cora,citeseer,pumbed,PPI,wikipedia,blogcatalog,dblp,flickr 等;
--model,运行的模型名称,可以是个列表,支持的模型包括 gcn,gat,deepwalk,node2vec,hope,grarep,netmf,netsmf,prone 等。
如果你想在 Cora 数据集上运行 GCN 模型,并用 node classification 评测,可以使⽤如下指令:
python train.py --task node_classification --dataset cora --model gcn
自定义数据集或模型
提交你的“牛”算法:如果您有⼀个性能优异的算法并愿意发布出来,你可以在我们的代码仓库⾥提出⼀个 issue。在验证该算法的原创性,创造性和效果后,我们将该算法的效果添加到我们的排⾏榜上。
添加你自己的数据集:如果您有⼀个独特,有研究价值的数据集并且愿意发布出来,你可以在代码仓库⾥提出⼀个 issue,我们将把所以适合的模型在您的数据集上运⾏并更新我们的排行榜。
实现你自己的模型:如果您有⼀个性能优秀的算法,并愿意在工具包中实现它,以帮助更多的人,您可以创建⼀个 pull request。
如果您在工具包或自定义步骤中遇到任何困难,请随时提出一个 github issue。您可以在 24 小时内得到答复。
项目页面:http://keg.cs.tsinghua.edu.cn/cogdl
GitHub 链接:https://github.com/THUDM/cogdl
中文介绍:https://github.com/THUDM/cogdl/blob/master/README_CN.md
智源链接:http://open.baai.ac.cn/cogdl-toolkit
网站(中文):http://keg.cs.tsinghua.edu.cn/cogdl/cn/
文档:https://cogdl.readthedocs.io/