dgl.DGLGraph.num_src_nodes

DGLGraph.num_src_nodes(ntype=None)[source]

返回图中源节点的数量。

如果图的节点类型可以进一步划分为两个子集 A 和 B,其中所有边都从 A 中的节点类型指向 B 中的节点类型,则我们将此类图称为单二部图(uni-bipartite graph),A 中的节点称为源节点(source nodes),B 中的节点称为目标节点(destination nodes)。如果图不是单二部图,则源节点和目标节点就是图中的所有节点集合。

参数:

ntype (str, optional) – 源节点类型的名称。如果给定,则返回指定源节点类型的节点数量。如果未给定(默认),则返回所有源节点类型数量的总和。

返回值:

节点数量

返回类型:

int

示例

以下示例使用 PyTorch 后端。

>>> import dgl
>>> import torch

创建一个齐次图进行查询。

>>> g = dgl.graph((torch.tensor([0, 1]), torch.tensor([1, 2])))
>>> g.num_src_nodes()
3

创建一个包含两种源节点类型(‘developer’ 和 ‘user’)的异构图。

>>> g = dgl.heterograph({
...     ('developer', 'develops', 'game'): (torch.tensor([0, 1]), torch.tensor([1, 2])),
...     ('user', 'plays', 'game'): (torch.tensor([3, 4]), torch.tensor([5, 6]))
... })

查询节点数量。

>>> g.num_src_nodes('developer')
2
>>> g.num_src_nodes('user')
5
>>> g.num_src_nodes()
7