深度学习如何跑视差图_CogDL: 基于图的深度学习开源工具包

CogDL是一个基于图的深度学习开源工具包,提供无监督多标签节点分类、异构节点分类、链接预测和图分类等任务的算法对比。支持多种数据集和模型,如GCN、GAT等。用户可以通过简单的命令行接口运行任务,如在Cora数据集上运行GCN进行节点分类。同时,用户可以提交自定义算法和数据集,丰富工具包的内容。
摘要由CSDN通过智能技术生成

ae8e476f778112161c10e77389eef48b.png50069ceb31141930924adc28bdd84945.png

CogDL 是由清华大学知识工程实验室(KEG)联合北京智源人工智能研究院(BAAI)所开发的基于图的深度学习的开源工具包,底层架构 PyTorch,编程语言使用了 Python。

视频 ↑

CogDL 允许研究人员和开发人员轻松地针对图数据进行表示学习、对比基线算法,支持节点分类、链接预测、图分类等任务。CogDL 的一个特点是整合了当下流行的图表示学习算法,包括:非图神经⽹络算法如 Deepwalk、LINE、Node2vec、NetMF、ProNE、methpath2vec、PTE、graph2vec、DGK 等;以及图神经网络算法如 GCN、GAT、GraphSAGE、GTN、HAN、GIN、DiffPool 等。工具包重现了所有算法,可以一键实现基线算法的对比。

0923cccc85dd4f65c076a0806cc29423.png

CogDL 还提供了更多 benchmark 数据集来对不同模型进行更加全面的评测, 提供更加客观的排行榜。与其他图表示学习工具包相比,CogDL 的特性包括: 任务导向: CogDL 以图上的任务为主,提供了相关的模型、数据集以及我们得到的排行榜。 ⼀键运行: CogDL 支持用户使用多个 GPU 同时运行同一个任务下多个模型在多个数据集上的多组实验。 多类任务: CogDL 支持同构/异构⽹络中的节点分类和链接预测任务以及图分类任务。 可扩展性: 用户可以基于 CogDL 已有的框架来实现和提交新的数据集、模型和任务。

36bc2a894118d946e076a6dc86d5d92b.png

项目页面:http://keg.cs.tsinghua.edu.cn/cogdl
GitHub 链接:https://github.com/THUDM/cogdl

下面简单介绍一下 CogDL 当前在各个图任务上不同算法的对比情况(排行榜),包括节点分类(分为是否具有节点属性),链接预测(分为同构和异构),图分类(分有监督和无监督)。

节点分类

无监督多标签节点分类

这是一个根据无监督的多标签节点分类设置而构建的排行榜,研究团队在几个真实的数据集上运行 CogDL 上的无监督表示学习算法,并将输出的表示和 90% 的节点标签作为经 L2 归一化的逻辑回归中的训练数据,使用剩余 10% 的标签作为测试数据,计算并按照 Micro-F1 的大小进行排序。

80546762d399a5351bdb6eefb20f9f1b.png

半监督有属性的节点分类 下面是几种常见的图神经网络算法在半监督节点分类任务上构建的排行榜。研究团队在经典的三个数据集 Cora, Citeseer 和 Pubmed 进行了实验,以 Accuracy 指标来评价模型的效果。

46cabccad75f7fca10f6a086826694fd.png

异构节点分类

对于异构的节点分类任务,研究团队使用 Macro F1 来评价模型的效果,在 GTN 算法的实验设置和数据集下对所有算法进⾏评估。

6aeb4387e3952878d61804759f6b62a0.png

链接预测

链接预测

对于链接预测任务,我们通过隐去数据集中 10% 的边,然后对隐去的边进⾏预测,使用 ROC-AUC 指标来评估模型的性能。ROC-AUC 指标代表了一条随机未观察到的边对应的两个节点比一条随机不存在的边对应的两个节点更相似的概率。

1fcd8c93d4e3c0c1ddaa668415963d10.png

异构链接预测 对于异构链接预测任务,我们会对数据集中的某些视图下的链接进⾏预测,然后取 Macro ROC-AUC 作为评价指标。我们提出的 GATNE 模型是专门针对这种多视图的异构网络,而这里列举的其他⽅法只能处理同构网络,因此我们向这些方法分别输入不同视图下的网络,并为每种视图下的网络分别获得节点表示用于链接预测,最后同样采用 Macro ROC-AUC 作为评测指标。

4c95b5293f5bb99b8108979539f793fe.png

图分类

CogDL 统一对有监督和⽆监督的图分类算法在相同的若干个真实的数据集上运⾏和评测。有监督图分类算法使⽤ kfold 对算法进行调参、训练和评测;无监督图分类算法学习到图的表示之后,将其作为输入并利用 90% 的图的标签作为 SVM 的训练数据,使⽤剩余 10% 的标签作为测试数据。两者均计算并按照 Accuracy 的大小进⾏排序。

2b3c400adff20e21acd42710cad61059.png

CogDL 怎么用?

开发者在 GitHub 项目中介绍了 CogDL 的详细使用方法。
CogDL 安装请按照这⾥的说明来安装 PyTorch 和其他依赖项:
  • 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/

0734adfc21ddbd01958100b1c6586375.png 8eee7ab3858a1aeacb9316a3e1df38d6.png 286a6890d13f286c67d726343206a888.png df90a2b7386f7ef48523315cba1263f7.png 29d34bd5a0b4086031462f8a98a2ad08.png 点击 阅读原文 ,进入项目页面! 喜欢本篇内容,请点 在看 2e464dfa04028a1627afc67e3bafce21.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值