dgl.DGLGraph.edge_attr_schemes

DGLGraph.edge_attr_schemes(etype=None)[source]

返回指定类型的边特征方案。

特征的方案描述了其形状和数据类型。

参数:

etype (str(str, str, str), 可选) –

边的类型名称。允许的类型名称格式为

  • (str, str, str),分别表示源节点类型、边类型和目标节点类型。

  • 或者一个 str 边类型名称,如果该名称可以在图中唯一标识一个三元组格式。

如果图只有一种边类型,则可以省略。

返回:

将特征名称映射到其关联特征方案的字典。

返回类型:

dict[str, Scheme]

示例

以下示例使用 PyTorch 后端。

>>> import dgl
>>> import torch

查询齐次图。

>>> g = dgl.graph((torch.tensor([0, 1]), torch.tensor([1, 2])))
>>> g.edata['h1'] = torch.randn(2, 1)
>>> g.edata['h2'] = torch.randn(2, 2)
>>> g.edge_attr_schemes()
{'h1': Scheme(shape=(1,), dtype=torch.float32),
 'h2': Scheme(shape=(2,), dtype=torch.float32)}

查询具有多种边类型的异构图。

>>> g = dgl.heterograph({('user', 'plays', 'game'):
...                      (torch.tensor([1, 2]), torch.tensor([3, 4])),
...                      ('user', 'follows', 'user'):
...                      (torch.tensor([3, 4]), torch.tensor([5, 6]))})
>>> g.edges['plays'].data['h1'] = torch.randn(2, 1)
>>> g.edges['plays'].data['h2'] = torch.randn(2, 2)
>>> g.edge_attr_schemes('plays')
{'h1': Scheme(shape=(1,), dtype=torch.float32),
 'h2': Scheme(shape=(2,), dtype=torch.float32)}

另请参阅

node_attr_schemes