class_docstr: S3Rec is the first work to incorporate self-supervised learning in
  sequential recommendation.
  
  NOTE:
      Under this framework, we need reconstruct the pretraining data,
      which would affect the pre-training speed.
code: def _masked_attribute_prediction(
      self, sequence_output, feature_embedding
  ):
      sequence_output = self.map_norm(sequence_output)  # [B L H]
      sequence_output = sequence_output.view(
          [-1, sequence_output.size(-1), 1]
      )  # [B*L H 1]
      # [feature_num H] [B*L H 1] -> [B*L feature_num 1]
      score = torch.matmul(feature_embedding, sequence_output)
      return score.squeeze(-1)
  
imports: import random
  import torch
  from torch import nn
  from recbole.model.abstract_recommender import SequentialRecommender
  from recbole.model.layers import TransformerEncoder
  from recbole.model.loss import BPRLoss
label_desc: Use image node_id 5 for calling the S3Rec obj's underlying member method code with example usage: obj._masked_attribute_prediction(sequence_output, feature_embedding) and returns: score