class_docstr: SimpleX is a simple, unified collaborative filtering model.
  
  SimpleX presents a simple and easy-to-understand model. Its advantage lies
  in its loss function, which uses a larger number of negative samples and
  sets a threshold to filter out less informative samples, it also uses
  relative weights to control the balance of positive-sample loss
  and negative-sample loss.
  
  We implement the model following the original author with a pairwise training mode.
code: def full_sort_predict(self, interaction):
      user = interaction[self.USER_ID]
      history_item = self.history_item_id[user]
      history_len = self.history_item_len[user]
  
      # [user_num, embedding_size]
      user_e = self.user_emb(user)
      # [user_num, max_history_len, embedding_size]
      history_item_e = self.item_emb(history_item)
  
      # [user_num, embedding_size]
      UI_aggregation_e = self.get_UI_aggregation(
          user_e, history_item_e, history_len
      )
  
      UI_aggregation_e = F.normalize(UI_aggregation_e, dim=1)
      all_item_emb = self.item_emb.weight
      all_item_emb = F.normalize(all_item_emb, dim=1)
      UI_cos = torch.matmul(UI_aggregation_e, all_item_emb.T)
      return UI_cos
  
file_path: RecBole/recbole/model/general_recommender/simplex.py
imports: import torch
  from torch import nn
  import torch.nn.functional
  from recbole.model.init import xavier_normal_initialization
  from recbole.model.abstract_recommender import GeneralRecommender
  from recbole.model.loss import EmbLoss
  from recbole.utils import InputType
label_desc: Use image node_id 7 for calling the SimpleX obj's underlying member method code with example usage: obj.full_sort_predict(interaction) and returns: UI_cos