dgl.DGLGraph.edata

property DGLGraph.edata

返回一个用于设置/获取边特征的边数据视图。

g 成为一个 DGLGraph。如果 g 是单一类型的图,g.edata[feat] 返回与名称 feat 相关联的边特征。也可以通过将 g.edata[feat] 设置为张量来设置与名称 feat 相关联的边特征。

如果 g 是一个多边类型的图,g.edata[feat] 返回一个 dict[str, Tensor] 映射规范边类型到与名称 feat 相关联的边特征 对于相应的类型。也可以通过设置 g.edata[feat] 为如上所述的字典来为某些边类型设置与名称 feat 相关联的边特征。

注释

为了设置特征,特征的设备必须与图的设备相同。

示例

以下示例使用PyTorch后端。

>>> import dgl
>>> import torch

设置和获取单一边类型的图的特征‘h’。

>>> g = dgl.graph((torch.tensor([0, 1]), torch.tensor([1, 2])))
>>> g.edata['h'] = torch.ones(2, 1)
>>> g.edata['h']
tensor([[1.],
        [1.]])

为多边类型的图设置和获取特征‘h’。

>>> g = dgl.heterograph({
...     ('user', 'follows', 'user'): (torch.tensor([1, 2]), torch.tensor([3, 4])),
...     ('user', 'plays', 'user'): (torch.tensor([2, 2]), torch.tensor([1, 1])),
...     ('player', 'plays', 'game'): (torch.tensor([2, 2]), torch.tensor([1, 1]))
... })
>>> g.edata['h'] = {('user', 'follows', 'user'): torch.zeros(2, 1),
...                 ('user', 'plays', 'user'): torch.ones(2, 1)}
>>> g.edata['h']
{('user', 'follows', 'user'): tensor([[0.], [0.]]),
 ('user', 'plays', 'user'): tensor([[1.], [1.]])}
>>> g.edata['h'] = {('user', 'follows', 'user'): torch.ones(2, 1)}
>>> g.edata['h']
{('user', 'follows', 'user'): tensor([[1.], [1.]]),
 ('user', 'plays', 'user'): tensor([[1.], [1.]])}

另请参阅

edges