class_docstr: NCL is a neighborhood-enriched contrastive learning paradigm for graph collaborative filtering.
  Both structural and semantic neighbors are explicitly captured as contrastive learning objects.
class_docstr_tok: ["NCL","is","a","neighborhood-enriched","contrastive","learning","paradigm","for","graph","collaborative","filtering",".","Both","structural","and","semantic","neighbors","are","explicitly","captured","as","contrastive","learning","objects","."]
code: def full_sort_predict(self, interaction):
      user = interaction[self.USER_ID]
      if self.restore_user_e is None or self.restore_item_e is None:
          (
              self.restore_user_e,
              self.restore_item_e,
              embedding_list,
          ) = self.forward()
      # get user embedding from storage variable
      u_embeddings = self.restore_user_e[user]
  
      # dot with all item embedding to accelerate
      scores = torch.matmul(
          u_embeddings, self.restore_item_e.transpose(0, 1)
      )
  
      return scores.view(-1)
  
imports: import numpy
  import scipy.sparse
  import torch
  import torch.nn.functional
  from recbole.model.abstract_recommender import GeneralRecommender
  from recbole.model.init import xavier_uniform_initialization
  from recbole.model.loss import BPRLoss, EmbLoss
  from recbole.utils import InputType
label_desc: Use image node_id 11 for calling the NCL obj's underlying member method code with example usage: obj.full_sort_predict(interaction) and returns: scores