dgl.remove_edges
- dgl.remove_edges(g, eids, etype=None, store_ids=False)[source]
移除指定的边并返回一个新图。
同时删除边的特征。这些边必须存在于图中。 生成的图具有与输入图相同数量的节点, 即使某些节点在边移除后变得孤立。
- Parameters:
etype (str or (str, str, str), optional) –
The type names of the edges. The allowed type name formats are:
(str, str, str)
for source node type, edge type and destination node type.or one
str
edge type name if the name can uniquely identify a triplet format in the graph.
Can be omitted if the graph has only one type of edges.
store_ids (bool, optional) – If True, it will store the raw IDs of the extracted nodes and edges in the
ndata
andedata
of the resulting graph under namedgl.NID
anddgl.EID
, respectively.
- Returns:
删除边后的图。
- Return type:
注释
此函数保留批次信息。
示例
>>> 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]))
另请参阅