dgl.DGLGraph.dstdata
- property DGLGraph.dstdata
返回一个节点数据视图,用于设置/获取目标节点特征。
让
g
成为一个 DGLGraph。如果g
是一个单一目标节点类型的图,g.dstdata[feat]
返回与名称feat
相关联的目标节点特征。 也可以通过将g.dstdata[feat]
设置为张量来设置与名称feat
相关联的目标节点特征。如果
g
是一个具有多个目标节点类型的图,g.dstdata[feat]
返回一个 dict[str, Tensor],将目标节点类型映射到与名称feat
相关联的节点特征 对于相应的类型。也可以通过设置g.dstdata[feat]
为一个字典来设置某些目标节点类型的 与名称feat
相关联的节点特征。注释
为了设置特征,特征的设备必须与图的设备相同。
示例
以下示例使用PyTorch后端。
>>> import dgl >>> import torch
为单一目标节点类型的图设置和获取特征‘h’。
>>> g = dgl.heterograph({ ... ('user', 'plays', 'game'): (torch.tensor([0, 1]), torch.tensor([1, 2]))}) >>> g.dstdata['h'] = torch.ones(3, 1) >>> g.dstdata['h'] tensor([[1.], [1.], [1.]])
为具有多个目标节点类型的图设置和获取特征‘h’。
>>> g = dgl.heterograph({ ... ('user', 'plays', 'game'): (torch.tensor([1, 2]), torch.tensor([1, 2])), ... ('user', 'watches', 'movie'): (torch.tensor([2, 2]), torch.tensor([1, 1])) ... }) >>> g.dstdata['h'] = {'game': torch.zeros(3, 1), 'movie': torch.ones(2, 1)} >>> g.dstdata['h'] {'game': tensor([[0.], [0.], [0.]]), 'movie': tensor([[1.], [1.]])} >>> g.dstdata['h'] = {'game': torch.ones(3, 1)} >>> g.dstdata['h'] {'game': tensor([[1.], [1.], [1.]]), 'movie': tensor([[1.], [1.]])}