dgl.DGLGraph.srcnodes
- property DGLGraph.srcnodes
返回源节点的节点视图
如果图是单二部图(参考
is_unibipartite()
),则此属性是限定于源节点类型的nodes()
。否则,它只是nodes()
的别名。可以使用它来
获取单一节点类型的节点 ID。
设置/获取单一节点类型的所有节点的特征。
示例
以下示例使用 PyTorch 后端。
>>> import dgl >>> import torch
创建一个单二部图。
>>> g = dgl.heterograph({ ... ('user', 'plays', 'game'): (torch.tensor([0]), torch.tensor([1])), ... ('developer', 'develops', 'game'): (torch.tensor([1]), torch.tensor([2])) ... })
获取源节点类型的节点 ID。
>>> g.srcnodes('user') tensor([0]) >>> g.srcnodes('developer') tensor([0, 1])
设置/获取源节点类型的特征。
>>> g.srcnodes['user'].data['h'] = torch.ones(1, 1) >>> g.srcnodes['user'].data['h'] tensor([[1.]])
创建一个非单二部图。
>>> g = dgl.heterograph({ ... ('user', 'follows', 'user'): (torch.tensor([0]), torch.tensor([1])), ... ('developer', 'develops', 'game'): (torch.tensor([1]), torch.tensor([2])) ... })
dgl.DGLGraph.srcnodes()
回退到dgl.DGLGraph.nodes()
,并且可以获取源节点和目标节点类型的节点 ID。>>> g.srcnodes('game') tensor([0, 1, 2])
在这种情况下,也可以设置/获取目标节点类型的特征。
>>> g.srcnodes['game'].data['h'] = torch.ones(3, 1) >>> g.srcnodes['game'].data['h'] tensor([[1.], [1.], [1.]])
另请参阅