RemoveSelfLoop

class dgl.transforms.RemoveSelfLoop[源]

基类: BaseTransform

移除图中每个节点的自环并返回一个新图。

对于异构图,此操作仅适用于源节点和目标节点类型相同的边类型。

示例

>>> import dgl
>>> from dgl import RemoveSelfLoop

案例1:移除同构图的自环

>>> transform = RemoveSelfLoop()
>>> g = dgl.graph(([1, 1], [1, 2]))
>>> new_g = transform(g)
>>> print(new_g.edges())
(tensor([1]), tensor([2]))

案例2:移除异构图的自环

>>> g = dgl.heterograph({
...     ('user', 'plays', 'game'): ([0, 1], [1, 1]),
...     ('user', 'follows', 'user'): ([1, 2], [2, 2])
... })
>>> new_g = transform(g)
>>> print(new_g.edges(etype='plays'))
(tensor([0, 1]), tensor([1, 1]))
>>> print(new_g.edges(etype='follows'))
(tensor([1]), tensor([2]))