ToSimple
- class dgl.transforms.ToSimple(return_counts='count', aggregator='arbitrary')[source]
基础类:
BaseTransform
将图转换为没有平行边的简单图并返回一个新图。
- Parameters:
示例
以下示例使用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]))