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


Python PyTorch FactorizationMachine用法及代码示例


本文简要介绍python语言中 torchrec.modules.deepfm.FactorizationMachine 的用法。

用法:

class torchrec.modules.deepfm.FactorizationMachine

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

这是 DeepFM paper 中提到的分解机模块:

本模块不涵盖已发表论文的end-end 函数。相反,它仅涵盖出版物的 FM 部分,并用于学习 2nd-order 特征交互。

为了支持建模灵活性,我们将关键组件定制为:

  • 与公开论文不同,我们将输入从原始稀疏

    特征到特征的嵌入。它允许嵌入维度和嵌入数量的灵活性,只要所有嵌入张量具有相同的批量大小。

模块的一般架构如下:

# 1 x 1 output
# ^
# pass into `dense_module`
# ^
# 1 x 90
# ^
# concat
# ^
# 1 x 20, 1 x 30, 1 x 40 list of embeddings

例子:

batch_size = 3
# the input embedding are in torch.Tensor of [batch_size, num_embeddings, embedding_dim]
input_embeddings = [
    torch.randn(batch_size, 2, 64),
    torch.randn(batch_size, 2, 32),
]
fm = FactorizationMachine()
output = fm(embeddings=input_embeddings)

相关用法


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