GraphTrans 开源项目教程
graphtrans项目地址:https://gitcode.com/gh_mirrors/gr/graphtrans
项目介绍
GraphTrans 是一个用于图神经网络的项目,旨在通过全局注意力机制来表示图神经网络中的长程上下文。该项目在 NeurIPS 2021 上发表,并提供了 PyTorch 代码实现。GraphTrans 通过使用 Transformer 模块来学习图中的长程成对关系,并引入了一种新颖的“readout”机制来获取全局图嵌入。
项目快速启动
环境设置
首先,确保你已经安装了 conda。然后,使用以下命令创建并激活环境:
conda env create -f requirement.yml
conda activate graphtrans
运行示例
以下是一个运行 GraphTrans 的示例命令,以 OGBG-Code2 数据集为例:
# GraphTrans (GCN-Virtual)
python main.py --configs configs/code2/gnn-transformer/JK=cat/pooling=cls+norm_input.yml --runs 5
# GraphTrans (GCN)
python main.py --configs configs/code2/gnn-transformer/no-virtual/pooling=cls+norm_input.yml --runs 5
应用案例和最佳实践
数据集 OGBG-Code2
GraphTrans 在 OGBG-Code2 数据集上表现出色,以下是一些配置和结果:
-
GraphTrans (GCN):
- Valid: 0.1599±0.0009
- Test: 0.1751±0.0015
-
GraphTrans (PNA):
- Valid: 0.1622±0.0025
- Test: 0.1765±0.0033
-
GraphTrans (GCN-Virtual):
- Valid: 0.1661±0.0012
- Test: 0.1830±0.0024
数据集 OGBG-Molpcba
在 OGBG-Molpcba 数据集上,GraphTrans 同样取得了优异的成绩:
-
GraphTrans (GIN):
- Valid: 0.2893±0.0050
- Test: 0.2756±0.0039
-
GraphTrans (GIN-Virtual):
- Valid: 0.2867±0.0022
- Test: 0.2761±0.0029
典型生态项目
GraphTrans 作为一个图神经网络项目,与以下生态项目紧密相关:
- PyTorch: 项目的主要开发框架,提供了强大的深度学习工具。
- OGB (Open Graph Benchmark): 提供了多个标准化的图数据集,用于评估图神经网络的性能。
- Transformer: 项目中使用的核心技术,用于学习图中的长程关系。
通过这些生态项目的支持,GraphTrans 能够更好地处理复杂的图结构数据,并在多个任务上达到最先进的结果。