當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch FMInteractionArch用法及代碼示例


本文簡要介紹python語言中 torchrec.models.deepfm.FMInteractionArch 的用法。

用法:

class torchrec.models.deepfm.FMInteractionArch(fm_in_features: int, sparse_feature_names: List[str], deep_fm_dimension: int)

參數

  • fm_in_features(int) -DeepFM 中 dense_module 的輸入維度。例如,如果輸入嵌入是 [randn(3, 2, 3), randn(3, 4, 5)],則 fm_in_features 應為:2 * 3 + 4 * 5。

  • sparse_feature_names(List[str]) -F的長度。

  • deep_fm_dimension(int) -DeepFM 拱門中深度交互 (DI) 的輸出。

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

處理SparseArch (sparse_features) 和DenseArch (dense_features) 的輸出,並根據DeepFM 論文的外部來源應用通用DeepFM 交互:https://arxiv.org/pdf/1703.04247.pdf

輸出維度預計為 dense_features 的 cat ,D。

例子:

D = 3
B = 10
keys = ["f1", "f2"]
F = len(keys)
fm_inter_arch = FMInteractionArch(sparse_feature_names=keys)
dense_features = torch.rand((B, D))
sparse_features = KeyedTensor(
    keys=keys,
    length_per_key=[D, D],
    values=torch.rand((B, D * F)),
)
cat_fm_output = fm_inter_arch(dense_features, sparse_features)

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torchrec.models.deepfm.FMInteractionArch。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。