hopwise.model.context_aware_recommender.afm¶
- Reference:
Jun Xiao et al. “Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks” in IJCAI 2017.
Classes¶
AFM is a attention based FM model that predict the final score with the attention of input feature. |
Module Contents¶
- class hopwise.model.context_aware_recommender.afm.AFM(config, dataset)[source]¶
Bases:
hopwise.model.abstract_recommender.ContextRecommender
AFM is a attention based FM model that predict the final score with the attention of input feature.
- attention_size¶
- dropout_prob¶
- reg_weight¶
- num_pair = 0.0¶
- attlayer¶
- p¶
- dropout_layer¶
- sigmoid¶
- loss¶
- build_cross(feat_emb)[source]¶
Build the cross feature columns of feature columns
- Parameters:
feat_emb (torch.FloatTensor) – input feature embedding tensor. shape of [batch_size, field_size, embed_dim].
- Returns:
torch.FloatTensor: Left part of the cross feature. shape of [batch_size, num_pairs, emb_dim].
torch.FloatTensor: Right part of the cross feature. shape of [batch_size, num_pairs, emb_dim].
- Return type:
tuple
- afm_layer(infeature)[source]¶
Get the attention-based feature interaction score
- Parameters:
infeature (torch.FloatTensor) – input feature embedding tensor. shape of [batch_size, field_size, embed_dim].
- Returns:
Result of score. shape of [batch_size, 1].
- Return type:
torch.FloatTensor
- calculate_loss(interaction)[source]¶
Calculate the training loss for a batch data.
- Parameters:
interaction (Interaction) – Interaction class of the batch.
- Returns:
Training loss, shape: []
- Return type:
torch.Tensor
- predict(interaction)[source]¶
Predict the scores between users and items.
- Parameters:
interaction (Interaction) – Interaction class of the batch.
- Returns:
Predicted scores for given users and items, shape: [batch_size]
- Return type:
torch.Tensor