当前位置:网站首页>OpenHGNN发布0.3版本
OpenHGNN发布0.3版本
2022-06-27 12:44:00 【智源社区】
GAMMA Lab于今日正式发布OpenHGNN第三个版本,大家可以从github、启智社区或者通过pip下载最新的OpenHGNN。新版本包含如下新功能:更新异质图相关模型、提供API调用方式、简化定制数据集和模型流程、提供异质图统计信息可视化工具等。
一、更新异质图模型
OpenHGNN第三版本修改和新增了一些异质图模型。
新增节点间含有多类型边的异质图嵌入模型:GATNE(KDD 2019) 新增知识图谱嵌入模型:TransE(NeurIPS 2013) TransH(AAAI 2014) TransR(AAAI 2015) TransD(ACL 2015)
我们利用DGL v0.8新提供的API——TypedLinear和HeteroLinear,新增和修改了下列注意力网络模型。
修改:
异质图结合Transformer的注意力网络:HGT(WWW 2020) 简易的异质图注意力网络:SimpleHGN(KDD 2021)
新增:
异质结构学习的注意力网络:HetSANN(AAAI 2020) 可解释的,高效的异质图注意力网络:ieHGCN(TKDE 2021)
二、新的使用方式
在一行命令运行实验的基础上,我们提供了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构建实验。
定制数据集
受DGL v0.8中Dataset Adapter启发,我们提供了异质图数据集适配器,通过调整用户提供的DGLDataset来运行OpenHGNN当中的节点分类和链路预测任务。
对于节点分类任务,用户可以仅通过提供一个含有节点标签的异质图数据集,指定目标节点类型和划分比例,将自己的数据集应用到OpenHGNN的节点分类任务中。
对于链路预测任务,用户提供原始的异质图、预测边类型和划分比例,数据集适配器会自动做数据集划分以及测试集和验证集上的负边采样,使用户数据集能够运行OpenHGNN的链路预测任务。
定制模型
多数异质图神经网络模型遵循消息传递范式,前向传播的过程中把图结构和节点初始特征作为输入,输出经过邻居聚合的中心节点表征。用户可以自行开发遵循统一前向传播格式的HGNN模型,将其应用到OpenHGNN的训练流程当中。
详细内容和示例代码可参考:https://github.com/BUPT-GAMMA/OpenHGNN/tree/main/examples/customization
四、异质图统计信息可视化工具
我们提供了三个异质图统计信息可视化的API,分别对节点比例、节点度分布、元路径数量进行了统计和可视化,便于研究人员对异质图的结构信息进行直观的展示。下图展示了IMDB数据集中不同类型节点度分布的信息。

五、开源社区
随着新功能的发布,我们逐步收集到了社区用户的一些反馈信息,让我们看到了用户的需求和用户视角中OpenHGNN的缺陷不足,也为我们提供了未来开发演进的思路。我们欢迎大家使用OpenHGNN的新版本,也欢迎提出任何问题和建议。
边栏推荐
猜你喜欢

基于STM32设计的蓝牙健康管理设备

A pang's operation record

带你认识图数据库性能和场景测试利器LDBC SNB
![[tcapulusdb knowledge base] Introduction to tcapulusdb tcapsvrmgr tool (III)](/img/ce/b58e436e739a96b3ba6d2d33cf8675.png)
[tcapulusdb knowledge base] Introduction to tcapulusdb tcapsvrmgr tool (III)

Journal quotidien des questions (6)

Uniapp drop-down layer selection box effect demo (sorting)

hue新建账号报错解决方案

Details of istio micro service governance grid traffic management core resource controller

Nmcli team bridge basic configuration

GCC compiling dynamic and static libraries
随机推荐
How to open an account for CSI 500 stock index futures, what are the regular domestic stock index futures platforms, and where is the safest place to open an account?
今日睡眠质量记录78分
Journal quotidien des questions (6)
微服务之配置管理中心
Two usages of enumeration classes
Nifi from introduction to practice (nanny level tutorial) - identity authentication
推荐系统的下一步?阿里时空聚合GNN,效果吊打LightGCN!
GCC compiling dynamic and static libraries
PyCharm汉化
Industry insight - how should brand e-commerce reshape growth under the new retail format?
The browser enters the URL address, and what happens to the page rendering
[tcaplusdb knowledge base] Introduction to tcaplusdb tcapulogmgr tool (I)
How to download pictures with hyperlinks
局域网即时通讯软件应该怎么选择
OpenFeign服务接口调用
夏日里的清凉
数据库系列:MySQL索引优化与性能提升总结(综合版)
Vs debugging skills
浅谈软件研发的复杂性与效能提升之道
printf不定长参数原理