DGL是如何表示一个图的
原文:How Does DGL Represent A Graph?
DGL笔记1——用DGL表示图
DGL笔记2——用DGL识别节点
DGL笔记3——自己写一个GNN模型
今天我们来学习一下 DGL 是如何表示一个图的。我们会学到以下内容:
- 从零开始新建一个图
- 将节点和边特征分配给图
- 查询DGL图的属性
- 将DGL图转换为其他图
- 加载和保存DGL图
最简单的安装
建议安装在 conda 虚拟环境里面。我用的Mac所以按照的CPU版本,各位按需自取。这里一笔带过。
conda install jupyter
conda install pytorch torchvision torchaudio -c pytorch
conda install -c dglteam dgl
DGL图的构建
DGL 将有向图表示为一个 DGL 图对象。图中的节点编号连续,从0开始。我们一般通过指定图中的节点数,以及源节点和目标节点的列表,来构建这么一个图。
举个🌰 ,下面的代码构造了一个图,这个图有五个叶子🍃节点。中心节点的 ID 为 0,边从中心节点处罚,指向众多的叶子节点。
import dgl
import numpy as np
import torch
g = dgl.graph(([0, 0, 0, 0, 0], [1, 2, 3, 4, 5]), num_nodes=6)
# 同样地,PyTorch LongTensors 也可以使用
g = dgl.graph((torch.LongTensor([0, 0, 0, 0, 0]), torch.LongTensor([1, 2, 3, 4, 5