当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python torchrec.modules.crossnet.LowRankCrossNet用法及代码示例


用法:

class torchrec.modules.crossnet.LowRankCrossNet(in_features: int, num_layers: int, low_rank: int = 1)

参数

  • in_features(int) -输入的维度。

  • num_layers(int) -模块中的层数。

  • low_rank(int) -交叉矩阵的秩设置(默认 = 0)。值必须始终 >= 0。

基础:torch.nn.modules.module.Module

低秩交叉网是一种高效的交叉网。代替在每一层使用全秩交叉矩阵 (NxN),它将使用两个内核 ,其中 r << N ,以简化矩阵乘法。

在每一层 l 上,张量转换为:

其中 是向量, 表示逐元素乘法, 表示矩阵乘法。

注意

排名r 应该明智地选择。通常,我们期望r < N/2 节省计算量;我们应该期望 保持全等级交叉网络的准确性。

例子:

batch_size = 3
num_layers = 2
in_features = 10
input = torch.randn(batch_size, in_features)
dcn = LowRankCrossNet(num_layers=num_layers, low_rank=3)
output = dcn(input)

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torchrec.modules.crossnet.LowRankCrossNet。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。