DeepSNAP
DeepSNAP是一个用于辅助图上高效深度学习的Python库。DeepSNAP的特点在于支持灵活的图操作、标准流程、异构图和简单的API。
DeepSNAP连接了强大的图库(如NetworkX)和深度学习框架PyTorch Geometric。通过直观且比以往更容易使用的API,DeepSNAP解决了以下痛点:
- DeepSNAP目前支持基于NetworkX的后端(同时支持基于SnapX的后端用于同构无向图),允许用户无缝调用数百种可用的图算法来操作/转换图,甚至可以在每次训练迭代中进行。
- DeepSNAP为数据集分割、负采样和定义节点/边/图级目标提供了标准流程,对用户来说是透明的。
- DeepSNAP为灵活和通用的异构GNN提供了高效支持,支持节点和边的异构性,并允许用户控制消息如何参数化和传递。
- DeepSNAP拥有易于使用的API,可与PyTorch Geometric中实现的现有GNN模型/数据集无缝配合。如果用户熟悉PyTorch Geometric,几乎没有学习曲线。
安装
要安装DeepSNAP,请确保已安装PyTorch Geometric和NetworkX。然后:
$ pip install deepsnap
或从源代码构建:
$ git clone https://github.com/snap-stanford/deepsnap
$ cd deepsnap
$ pip install .
示例
代码仓库中提供了使用DeepSNAP的示例。
$ git clone https://github.com/snap-stanford/deepsnap
节点分类:
$ cd deepsnap/examples/node_classification # 节点分类
$ python node_classification_planetoid.py
链接预测:
$ cd deepsnap/examples/link_prediction # 链接预测
$ python link_prediction_cora.py
图分类:
$ cd deepsnap/examples/graph_classification # 图分类
$ python graph_classification_TU.py
文档
有关全面概述、介绍、教程和示例,请参阅完整文档