Project Icon

pyHGT

大规模异构和动态图的图神经网络解决方案

Heterogeneous Graph Transformer (HGT) 是一种基于 Pytorch Geometric 的图神经网络架构,设计用于处理大规模异构和动态图。项目主要包含核心模型代码、数据接口、训练和验证脚本。用户可以使用预处理好的 OAG 数据集或其他异构图进行训练。关键功能包括异构图卷积层、并行采样和深度图模型训练。安装简单,只需通过 pip 安装相关依赖即可运行。

项目介绍:异构图转换器 (HGT)

Heterogeneous Graph Transformer,简称HGT,是一种图神经网络架构,能够处理大规模异构和动态图。本项目的实现基于Pytorch Geometric API,旨在为研究人员和开发者提供一种强大的工具,用于分析复杂的图结构。

项目概述

本项目的核心在于几个重要的文件:

  • conv.py:实现了类似Transformer的异构图卷积层,这是模型的核心部分。

  • model.py:用于封装不同的模型组件。

  • data.py:负责数据接口和使用。

    • class Graph:用于表示异构图的数据结构,节点特征储存在Graph.node_feature中,邻接矩阵储存在Graph.edge_list中。
    • def sample_subgraph:用于异构图的采样算法,每次迭代会根据节点相对度数的平方作为概率,在已采样节点的区域内采样固定数量的节点。
  • train_*.py:针对特定下游任务的训练与验证脚本。

    • def *_sample:用于给定任务的采样函数,需注意遮盖图中现有的链接,以避免信息泄露。
    • def prepare_data:使用多进程并行进行采样,与模型训练无缝协调。

环境设置

项目基于pytorch_geometric,为运行代码,需要如下依赖:

  • Pytorch 1.3.0
  • pytorch_geometric 1.3.2
    • torch-cluster==1.4.5
    • torch-scatter==1.3.2
    • torch-sparse==0.4.3
  • gensim
  • sklearn
  • tqdm
  • dill
  • pandas

可以通过运行 pip install -r requirements.txt 来安装所有必要的包。

OAG 数据集

当前的实验主要在Open Academic Graph (OAG) 数据集上进行。为了方便使用,我们将整个数据集预处理并划分为不同的粒度:所有计算机科学论文(8.1G)、所有机器学习论文(1.9G)、所有神经网络论文(0.6G),时间跨度从1900年到2020年。

如果希望从原始数据开始处理,可下载相应数据并运行 preprocess_OAG.py 提取特征并存储到我们的数据结构中。

使用方法

要进行论文-领域(L2)分类任务的训练,可以执行以下脚本:

python3 train_paper_field.py --data_dir 数据集路径 --model_dir 保存模型的路径 --conv_name hgt

运行其他任务的方式类似。脚本中有几个关键选项:

  • conv_name:选择用于训练的对应模型,默认使用HGT。
  • --sample_depth--sample_width:定义采样图的深度和宽度。如果模型超出了GPU内存,可以考虑减少这些数量;若希望训练更深的GNN模型,可以增加数量。
  • --n_pool:并行采样的进程数量。如果拥有大内存的机器,可以增加此值以减少批量准备时间。
  • --repeat:重复使用采样批次的次数。如果训练时间远小于采样时间,可以增加此值。

其他可选超参数的详细信息可以在train_*.py文件中找到。

引用

在将本代码用于您的应用时,请引用以下论文:

@inproceedings{hgt,
  author    = {Ziniu Hu and
               Yuxiao Dong and
               Kuansan Wang and
               Yizhou Sun},
  title     = {Heterogeneous Graph Transformer},
  booktitle = {{WWW} '20: The Web Conference 2020, Taipei, Taiwan, April 20-24, 2020},
  pages     = {2704--2710},
  publisher = {{ACM} / {IW3C2}},
  year      = {2020},
}

通过应用HGT,研究人员和开发者可以更好地在复杂的异构图数据上进行分析和预测。这项技术为大规模图分析提供了新的思路和方法。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号