class_docstr: KGNN-LS is a knowledge-based recommendation model.
  KGNN-LS transforms the knowledge graph into a user-specific weighted graph and then apply a graph neural network to
  compute personalized item embeddings. To provide better inductive bias, KGNN-LS relies on label smoothness
  assumption, which posits that adjacent items in the knowledge graph are likely to have similar user relevance
  labels/scores. Label smoothness provides regularization over the edge weights and it is equivalent  to a label
  propagation scheme on a graph.
code: def full_sort_predict(self, interaction):
      user_index = interaction[self.USER_ID]
      item_index = torch.tensor(range(self.n_items)).to(self.device)
  
      user = torch.unsqueeze(user_index, dim=1).repeat(
          1, item_index.shape[0]
      )
      user = torch.flatten(user)
      item = torch.unsqueeze(item_index, dim=0).repeat(
          user_index.shape[0], 1
      )
      item = torch.flatten(item)
  
      user_e, item_e = self.forward(user, item)
      score = torch.mul(user_e, item_e).sum(dim=1)
  
      return score.view(-1)
  
imports: import random
  import numpy
  import torch
  import torch.nn
  from recbole.model.abstract_recommender import KnowledgeRecommender
  from recbole.model.init import xavier_normal_initialization
  from recbole.model.loss import EmbLoss
  from recbole.utils import InputType
label_desc: Use image node_id 12 for calling the KGNNLS obj's underlying member method code with example usage: obj.full_sort_predict(interaction) and returns: score