class_docstr: FISM is an item-based model for generating top-N recommendations that learns the
  item-item similarity matrix as the product of two low dimensional latent factor matrices.
  These matrices are learned using a structural equation modeling approach, where in the
  value being estimated is not used for its own estimation.
class_docstr_tok: ["FISM","is","an","item-based","model","for","generating","top-N","recommendations","that","learns","the","item-item","similarity","matrix","as","the","product","of","two","low","dimensional","latent","factor","matrices",".","These","matrices","are","learned","using","a","structural","equation","modeling","approach",",","where","in","the","value","being","estimated","is","not","used","for","its","own","estimation","."]
code: def full_sort_predict(self, interaction):
      user = interaction[self.USER_ID]
      batch_user_bias = self.user_bias[user]
      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, user_bias in zip(
          user_inters, item_nums.unsqueeze(1), batch_user_bias
      ):
          if self.split_to <= 0:
              output = self.user_forward(
                  user_input[:item_num],
                  item_num,
                  user_bias,
                  repeats=self.n_items,
              )
          else:
              output = []
              for mask in self.group:
                  tmp_output = self.user_forward(
                      user_input[:item_num],
                      item_num,
                      user_bias,
                      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
  
file_path: RecBole/recbole/model/general_recommender/fism.py
imports: import torch
  import torch.nn
  from torch.nn.init import normal_
  from recbole.model.abstract_recommender import GeneralRecommender
  from recbole.utils import InputType
label_desc: Use image node_id 9 for calling the FISM obj's underlying member method code with example usage: obj.full_sort_predict(interaction) and returns: result