ToSimple
- class dgl.transforms.ToSimple(return_counts='count', aggregator='arbitrary')[source]
-
将图转换为不含并行边的简单图,并返回一个新图。
- 参数:
示例
以下示例使用 PyTorch 后端。
>>> import dgl >>> import torch >>> from dgl import ToSimple
用例1:将同构图转换为简单图
>>> transform = ToSimple() >>> g = dgl.graph(([0, 1, 1], [1, 2, 2])) >>> g.edata['w'] = torch.tensor([[0.1], [0.2], [0.3]]) >>> sg = transform(g) >>> print(sg.edges()) (tensor([0, 1]), tensor([1, 2])) >>> print(sg.edata['count']) tensor([1, 2]) >>> print(sg.edata['w']) tensor([[0.1000], [0.2000]])
用例2:将异构图转换为简单图
>>> g = dgl.heterograph({ ... ('user', 'follows', 'user'): ([0, 1, 1], [1, 2, 2]), ... ('user', 'plays', 'game'): ([0, 1, 0], [1, 1, 1]) ... }) >>> sg = transform(g) >>> print(sg.edges(etype='follows')) (tensor([0, 1]), tensor([1, 2])) >>> print(sg.edges(etype='plays')) (tensor([0, 1]), tensor([1, 1]))