如何在深度学习过程中引入图神经网络?这里给出使用dgl包进行图神经网络开发的简单指南。
1.dgl简介
dgl: Deep Graph Library
dgl官网:https://www.dgl.ai/pages/start.html
2.安装dgl
conda install -c dglteam dgl-cuda11.1
3.实战
3.1 怎么用DGL表示一张图
DGL 用DGLGraph 表示一张有向图。通过指定图中的结点数、起始和目标节点的列表来构建一张有向图,图中的节点有一个连续的ID(从0开始)。
例如:下面的代码构建了一个具有5个节点有向图。中心结点的下标是0,边是从中心结点到叶子节点。
尽管现实世界中的结点和边的特征多种多样,但是DGLGraph 里的属性只能是tensor,因此所有的节点和边必须有着相同的shape,在深度学习中,这些属性经常被称作是features
。
可以通过 ndata
和 edata
接口来访问和赋值node、edge特征