异质图神经网络开源工具包
启智社区(中文版)| Github Community (English)
OpenHGNN是一个基于 DGL [Deep Graph Library] 和 PyTorch 的开源异质图神经网络工具包, 集成了异质图神经网络的前沿模型.
新闻
我们于启智社区开源了v0.1.1中文版本。
启智社区用户可以享受到如下功能:
- 全新的中文文档
- 免费的计算资源—— 云脑使用教程
- OpenHGNN最新功能
- 新增模型:【KDD2017】Metapath2vec、【TKDE2018】HERec、【KDD2021】HeCo、【KDD2021】SimpleHGN、【TKDE2021】HPN、【ICDM2021】HDE、fastGTN
- 新增日志功能
- 新增美团外卖数据集
关键特性
- 易用: OpenHGNN提供了了易用的接口在给定的模型和数据集上运行实验, 且集成了 optuna 进行超参数优化.
- 可扩展: 用户可以定义定制化的任务/模型/数据集来对新的场景应用新的模型.
- 高效: 底层的DGL框架提供了提供了高效的API.
开始使用
环境要求
1. Python 环境 (可选): 推荐使用 Conda 包管理
conda create -n openhgnn python=3.7
source activate openhgnn
2. Pytorch: 安装Pytorch, 参考PyTorch安装文档.
# CUDA versions: cpu, cu92, cu101, cu102, cu101, cu111
pip install torch==1.8.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html
3. DGL: 安装 DGL, 参考DGL安装文档.
# CUDA versions: cpu, cu101, cu102, cu110, cu111
pip install --pre dgl-cu101 -f https://data.dgl.ai/wheels-test/repo.html
4. 下载OpenHGNN, 安装依赖:
git clone https://github.com/BUPT-GAMMA/OpenHGNN
cd OpenHGNN
pip install -r requirements.txt
在已有的评测上运行已有的基线模型 数据集
python main.py -m model_name -d dataset_name -t task_name -g 0 --use_best_config --load_from_pretrained
使用方法: main.py [-h] [--model MODEL] [--task TASK] [--dataset DATASET]
[--gpu GPU] [--use_best_config]
可选参数:
-h, --help
展示帮助信息并退出
--model -m
模型名
--task -t
任务名
--dataset -d
数据集名
--gpu -g
控制你使用哪一个GPU, 如果没有GPU, 设定 -g -1.
--use_best_config
use_best_config 意味着你使用该模型在该数据集下最优的配置, 如果你想要设定不同的超参数,请手动修改 配置文件 . 使用最佳配置会覆盖配置文件中的参数。
--use_hpo
除了 use_best_config, 我们还提供了一个超参数的 样例 来自动查找最佳超参数.
--load_from_pretrained
从默认检查点加载模型.
示例:
python main.py -m GTN -d imdb4GTN -t node_classification -g 0 --use_best_config
提示: 如果你对某个模型感兴趣,你可以参考下列的模型列表.
请参考 文档 了解更多的基础和进阶的使用方法.
特定任务下支持的模型
表格中的链接给出了模型的基本使用方法.
候选模型
贡献者
OpenHGNN 团队 [北邮 GAMMA 实验室] 、 DGL 团队和鹏城实验室.
贡献者名单.