异质线性

class dgl.nn.pytorch.HeteroLinear(in_size, out_size, bias=True)[source]

Bases: Module

对异构输入应用线性变换。

Parameters:
  • in_size (dict[key, int]) – 用于异构输入的输入特征大小。键可以是字符串或字符串的元组。

  • out_size (int) – 输出特征大小。

  • bias (bool, optional) – If True, learns a bias term. Defaults: True.

示例

>>> import dgl
>>> import torch
>>> from dgl.nn import HeteroLinear
>>> layer = HeteroLinear({'user': 1, ('user', 'follows', 'user'): 2}, 3)
>>> in_feats = {'user': torch.randn(2, 1), ('user', 'follows', 'user'): torch.randn(3, 2)}
>>> out_feats = layer(in_feats)
>>> print(out_feats['user'].shape)
torch.Size([2, 3])
>>> print(out_feats[('user', 'follows', 'user')].shape)
torch.Size([3, 3])
forward(feat)[source]

前向函数

Parameters:

功能 (dict[key, Tensor]) – 异构输入特征。它将键映射到特征。

Returns:

转换后的特征。

Return type:

dict[key, Tensor]