GraphGallery
【导读】图神经网络(Graph Neural Networks,GNN)是近几年兴起的新的研究热点,其借鉴了传统卷积神经网络等模型的思想,在图结构数据上定义了一种新的神经网络架构。如果作为初入该领域的科研人员,想要快速学习并验证自己的idea,需要花费一定的时间搜集数据集,定义模型的训练测试过程,寻找现有的模型进行比较测试,这无疑是繁琐且不必要的。GraphGallery 为科研人员提供了一个简单方便的框架,用于在一些常用的数据集上快速建立和测试自己的模型,并且与现有的 benchmark 模型进行比较。其支持目前主流的两大机器学习框架:TensorFlow 和 PyTorch,为科研人员提供了一些简易操作的API。
安装
- 直接从源码安装(可以体验最新版本)
git clone https://github.com/EdisonLeeeee/GraphGallery.git
cd GraphGallery
python setup.py install
- 从 Pypi 安装(可以使用稳定版本)
# -U 表示升级使用最新版本
pip install -U graphgallery
快速上手
1. Dataset
数据集包含两种,一种是领域内划分好的数据集 Planetoid
,以及扩展性更强的以 npz
格式存储的数据集。
数据集详细信息请见 https://github.com/EdisonLeeeee/GraphData
- Planetoid
from graphgallery.data import Planetoid
# set `verbose=False` to avoid additional outputs
data = Planetoid('cora', verbose=False)
graph = data.graph
idx_train, idx_val, idx_test = data.split() # 使用固定的划分,即 每个类别20个结点作为训练集,剩余结点中选取500个作为验证集,1000个作为测试集
>>> graph
Graph(adj_matrix(2708, 2708), attr_matrix(2708, 2708), labels(2708,))
目前包含 3 种数据集
>>> data.supported_datasets
('citeseer', 'cora', 'pubmed')
- NPZDataset
from graphgallery.data import NPZDataset;
data = NPZDataset('cora', verbose=False)
graph = data.graph
idx_train, idx_val, idx_test = data.split(random_state=42) # 采用 10%,10%,80%的划分
>>> graph
Graph(adj_matrix(2708, 2708), attr_matrix(2708, 2708)