由北邮 GammaLab 开发的开源异质图神经网络工具包 OpenHGNN 论文已被 CIKM 2022 短文接受,欢迎大家引用。
一、OpenHGNN 简介
异质图神经网络(HGNNs)作为一种强大的异质图表示学习方法,越来越受到研究人员的关注。然而由于异质图的复杂性,业界大部分图机器学习开源工具包着力于同质图、化学分子图等领域,对异质图的支持较少。OpenHNGNN 作为业界首个开源异质图神经网络工具包,可以帮助用户更好更快的构建、训练、应用异质图神经网络,同时还提供了丰富的异质图工具以方便用户。目前 OpenHGNN 已经支持了 20+ 的模型和数据集,更多模型和数据将在未来版本中得到支持。
OpenHGNN 采用模块化设计,主要包含 TrainerFlow
, Model
和 Task
三个模块,用户可以基于 OpenHGNN 开发并修改其子模块以满足自己的需求。TrainerFlow
是预先设计的工作流程的抽象,用于在给定任务上训练和评估模型,它可以非常灵活地覆盖常见 HGNN 训练设置。Task
模块负责管理数据集、损失函数和评测标准等。Model
模块则包含了现有的主流模型的编码器的具体实现。
二、OpenHGNN 主要特性
-
易用性:OpenHGNN 为训练模型提供了易于使用的用户接口。用户只需一行命令或几行 python 脚本就可以开始在特定数据集上执行任务。 -
可扩展性:OpenHGNN 采用模块化设计,用户可以自定义任务、模型、数据集,将模型应用于特定场景。 -
丰富的工具链:OpenHGNN 集成了几个有用的工具,如排行榜、可视化工具、超参数搜索、设计空间等,以帮助用户更全面和更深入的了解 HGNN。 -
详尽的文档:我们提供了详细可读的 OpenHGNN 文档,初学者可以快速上手,和有一定经验的用户也可以根据文档快速了解 OpenHGNN 的技术细节和高级使用方式。
三、OpenHGNN 用法介绍
OpenHGNN 支持一键训练,用户只需要执行一条命令,便可以在指定数据集上训练指定的模型:
python main.py -m HAN -d acm4HAN -t node_classification
此外,在 0.3 版本中我们引入了 Experiment 接口给用户提供了在既有的模型和数据集下设置参数和运行实验的另一选项。用户可以用简单的代码,通过自定义实验参数来运行一个实验,以及通过自定义参数搜索空间来进行超参数优化。
-
运行实验
experiment = Experiment(model='RGCN', dataset='acm4GTN', task='node_classification',
gpu=0, max_epoch=50, lr=0.01, hidden_dim=64, dropout=0.2, n_layers=2)
experiment.run()
-
超参数优化
def search_space(trial):
return {
"lr": trial.suggest_categorical("lr", [1e-3, 5e-3, 1e-2]),
"hidden_dim": trial.suggest_categorical("hidden_dim", [32, 64]),
"dropout": trial.suggest_uniform("dropout", 0.0, 0.5),
'n_layers': trial.suggest_int('n_layers', 2, 3)
}
experiment = Experiment(model='RGCN', dataset='acm4GTN', task='node_classification', gpu=0,
hpo_search_space=search_space, hpo_trials=20)
experiment.run()
四、OpenHGNN 社区
OpenHGNN 是一个开源项目,项目的发展离不开社区的支持,我们十分重视社区用户的反馈,欢迎大家使用 OpenHGNN 并提供使用反馈,这会对我们发现并改进 OpenHGNN 的不足有很大的帮助。此外 OpenHGNN 已经加入启智中文社区,社区为用户提供了免费计算资源,欢迎大家点赞使用。
Github网址:https://github.com/BUPT-GAMMA/OpenHGNN
启智社区网址:https://git.openi.org.cn/GAMMALab/OpenHGNN
文档网址:https://openhgnn.readthedocs.io
长按下图并点击“识别图中二维码”
即可关注北邮 GAMMA Lab 公众号
原文始发于微信公众号(北邮 GAMMA Lab):OpenHGNN 论文已被 CIKM 2022 接收!
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论