dgl.merge

dgl.merge(graphs)[source]

将一系列图形合并成一个单一的图形。

存在于graphs[i+1]但不存在于dgl.merge(graphs[0:i+1])中的节点和边 将被添加到dgl.merge(graphs[0:i+1])中,并附带它们的数据。 如果存在于dgl.merge(graphs[0:i+1])graphs[i+1]中的节点不匹配, 它们的数据将被graphs[i+1]的数据更新。

Parameters:

graphs (list[DGLGraph]) – 输入图。

Returns:

合并后的图表。

Return type:

DGLGraph

注释

  • 就地更新应用于一个新的空图。

  • 存在于dgl.graphs[i+1]中的特性将在dgl.merge(dgl.graphs[i+1])中创建,如果它们尚不存在。

示例

以下示例使用PyTorch后端。

>>> import dgl
>>> import torch
>>> g = dgl.graph((torch.tensor([0,1]), torch.tensor([2,3])))
>>> g.ndata["x"] = torch.zeros(4)
>>> h = dgl.graph((torch.tensor([1,2]), torch.tensor([0,4])))
>>> h.ndata["x"] = torch.ones(5)
>>> m = dgl.merge([g, h])

m 现在包含来自 hg 的边和节点。

>>> m.edges()
(tensor([0, 1, 1, 2]), tensor([2, 3, 0, 4]))
>>> m.nodes()
tensor([0, 1, 2, 3, 4])

g 的数据已使用 h 的数据在 m 中更新。

>>> m.ndata["x"]
tensor([1., 1., 1., 1., 1.])

另请参阅

add_nodes, add_edges