dgl.DGLGraph.batch_num_edges

DGLGraph.batch_num_edges(etype=None)[source]

返回批次中每个图指定边类型的边数。

Parameters:

etype (strtuplestr, 可选) – 用于查询的边类型,可以是边类型(str)或规范边类型(3元组的str)。当边类型出现在多个规范边类型中时,必须使用规范边类型。如果图有多个边类型,则必须指定该参数。否则,可以省略。

Returns:

批次中每个图形具有指定类型的边的数量。它的第i个元素是第i个图形具有指定类型的边的数量。如果图形不是批次的,它将返回一个长度为1的列表,其中包含图形中的边的数量。

Return type:

张量

示例

以下示例使用PyTorch后端。

>>> import dgl
>>> import torch

查询同构图。

>>> g1 = dgl.graph((torch.tensor([0, 1, 2]), torch.tensor([1, 2, 3])))
>>> g1.batch_num_edges()
tensor([3])
>>> g2 = dgl.graph((torch.tensor([0, 0, 0, 1]), torch.tensor([0, 1, 2, 0])))
>>> bg = dgl.batch([g1, g2])
>>> bg.batch_num_edges()
tensor([3, 4])

查询异构图。

>>> hg1 = dgl.heterograph({
...       ('user', 'plays', 'game') : (torch.tensor([0, 1]), torch.tensor([0, 0]))})
>>> hg2 = dgl.heterograph({
...       ('user', 'plays', 'game') : (torch.tensor([0, 0]), torch.tensor([1, 0]))})
>>> bg = dgl.batch([hg1, hg2])
>>> bg.batch_num_edges('plays')
tensor([2, 2])