dgl.remove_edges
- dgl.remove_edges(g, eids, etype=None, store_ids=False)[source]
移除指定的边并返回一个新图。
同时删除边的特征。这些边必须存在于图中。即使在移除边后某些节点变孤立,结果图与输入图具有相同数量的节点。
- 参数:
- 返回值:
删除了边的图。
- 返回值类型:
附注
此函数保留批处理信息。
示例
>>> import dgl >>> import torch
同构图
>>> g = dgl.graph((torch.tensor([0, 0, 2]), torch.tensor([0, 1, 2]))) >>> g.edata['he'] = torch.arange(3).float().reshape(-1, 1) >>> g = dgl.remove_edges(g, torch.tensor([0, 1])) >>> g Graph(num_nodes=3, num_edges=1, ndata_schemes={} edata_schemes={'he': Scheme(shape=(1,), dtype=torch.float32)}) >>> g.edges('all') (tensor([2]), tensor([2]), tensor([0])) >>> g.edata['he'] tensor([[2.]])
异构图
>>> g = dgl.heterograph({ ... ('user', 'plays', 'game'): (torch.tensor([0, 1, 1, 2]), ... torch.tensor([0, 0, 1, 1])), ... ('developer', 'develops', 'game'): (torch.tensor([0, 1]), ... torch.tensor([0, 1])) ... }) >>> g = dgl.remove_edges(g, torch.tensor([0, 1]), 'plays') >>> g.edges('all', etype='plays') (tensor([1, 2]), tensor([1, 1]), tensor([0, 1]))
另请参阅