本文简要介绍python语言中 torchrec.models.deepfm.SimpleDeepFMNN
的用法。
用法:
class torchrec.models.deepfm.SimpleDeepFMNN(num_dense_features: int, embedding_bag_collection: torchrec.modules.embedding_modules.EmbeddingBagCollection, hidden_layer_size: int, deep_fm_dimension: int)
num_dense_features(int) -输入密集特征的数量。
embedding_bag_collection(torchrec.modules.embedding_modules.EmbeddingBagCollection) -用于定义
SparseArch
的嵌入包集合。hidden_layer_size(int) -密集模块中使用的隐藏层大小。
deep_fm_dimension(int) -
deep_fm
的深度交互模块中使用的输出层大小。
基础:
torch.nn.modules.module.Module
具有 DeepFM 架构的基本 resys 模块。通过学习每个特征的池化嵌入来处理稀疏特征。通过将密集特征投影到相同的嵌入空间来学习密集特征和稀疏特征之间的关系。通过本文提出的deep_fm学习那些密集和稀疏特征之间的相互作用:https://arxiv.org/pdf/1703.04247.pdf
该模块假设所有稀疏特征具有相同的嵌入维度(即每个
EmbeddingBagConfig
使用相同的embedding_dim)在整个模型的文档中使用以下符号:
F:稀疏特征的数量
D:embedding_dimension 稀疏特征
B:批量大小
num_features:密集特征的数量
例子:
B = 2 D = 8 eb1_config = EmbeddingBagConfig( name="t1", embedding_dim=D, num_embeddings=100, feature_names=["f1", "f3"] ) eb2_config = EmbeddingBagConfig( name="t2", embedding_dim=D, num_embeddings=100, feature_names=["f2"], ) ebc_config = EmbeddingBagCollectionConfig(tables=[eb1_config, eb2_config]) ebc = EmbeddingBagCollection(config=ebc_config) sparse_nn = SimpleDeepFMNN( embedding_bag_collection=ebc, hidden_layer_size=20, over_embedding_dim=5 ) features = torch.rand((B, 100)) # 0 1 # 0 [1,2] [4,5] # 1 [4,3] [2,9] # ^ # feature sparse_features = KeyedJaggedTensor.from_offsets_sync( keys=["f1", "f3"], values=torch.tensor([1, 2, 4, 5, 4, 3, 2, 9]), offsets=torch.tensor([0, 2, 4, 6, 8]), ) logits = sparse_nn( dense_features=features, sparse_features=sparse_features, )
参数:
相关用法
- Python PyTorch Sigmoid用法及代码示例
- Python PyTorch SiLU用法及代码示例
- Python PyTorch ScaledDotProduct.__init__用法及代码示例
- Python PyTorch ShardedEmbeddingBagCollection.named_parameters用法及代码示例
- Python PyTorch SummaryWriter.add_histogram用法及代码示例
- Python PyTorch ScriptModule.state_dict用法及代码示例
- Python PyTorch Softmin用法及代码示例
- Python PyTorch SummaryWriter.add_pr_curve用法及代码示例
- Python PyTorch Softmax2d用法及代码示例
- Python PyTorch ShardedEmbeddingBag.named_parameters用法及代码示例
- Python PyTorch ScriptModule.register_full_backward_hook用法及代码示例
- Python PyTorch SummaryWriter.add_custom_scalars用法及代码示例
- Python PyTorch ScriptModule.parameters用法及代码示例
- Python PyTorch ShardedEmbeddingBag.state_dict用法及代码示例
- Python PyTorch SummaryWriter.add_image用法及代码示例
- Python PyTorch Store.num_keys用法及代码示例
- Python PyTorch ShardedEmbeddingBagCollection.named_modules用法及代码示例
- Python PyTorch SummaryWriter.add_hparams用法及代码示例
- Python PyTorch ScriptModule.register_forward_hook用法及代码示例
- Python PyTorch ShardedEmbeddingBagCollection.state_dict用法及代码示例
- Python PyTorch ScriptModule.modules用法及代码示例
- Python PyTorch SummaryWriter.__init__用法及代码示例
- Python PyTorch SparseArch用法及代码示例
- Python PyTorch SequentialLR用法及代码示例
- Python PyTorch ShardedEmbeddingCollection.named_parameters用法及代码示例
注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torchrec.models.deepfm.SimpleDeepFMNN。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。