class_docstr: NAIS is an attention network, which is capable of distinguishing which historical items
  in a user profile are more important for a prediction. We just implement the model following
  the original author with a pointwise training mode.
  
  Note:
      instead of forming a minibatch as all training instances of a randomly sampled user which is
      mentioned in the original paper, we still train the model by a randomly sampled interactions.
code: def full_sort_predict(self, interaction):
      user = interaction[self.USER_ID]
      user_inters = self.history_item_matrix[user]
      item_nums = self.history_lens[user]
      scores = []
  
      # test users one by one, if the number of items is too large, we will split it to some pieces
      for user_input, item_num in zip(
          user_inters, item_nums.unsqueeze(1)
      ):
          if self.split_to <= 0:
              output = self.user_forward(
                  user_input[:item_num], item_num, repeats=self.n_items
              )
          else:
              output = []
              for mask in self.group:
                  tmp_output = self.user_forward(
                      user_input[:item_num],
                      item_num,
                      repeats=len(mask),
                      pred_slc=mask,
                  )
                  output.append(tmp_output)
              output = torch.cat(output, dim=0)
          scores.append(output)
      result = torch.cat(scores, dim=0)
      return result
  
imports: import torch
  import torch.nn
  from torch.nn.init import constant_, normal_, xavier_normal_
  from recbole.model.abstract_recommender import GeneralRecommender
  from recbole.model.layers import MLPLayers
  from recbole.utils import InputType
label_desc: Use image node_id 13 for calling the NAIS obj's underlying member method code with example usage: obj.full_sort_predict(interaction) and returns: result