class_docstr: KGAT is a knowledge-based recommendation model. It combines knowledge graph and the user-item interaction
  graph to a new graph called collaborative knowledge graph (CKG). This model learns the representations of users and
  items by exploiting the structure of CKG. It adopts a GNN-based architecture and define the attention on the CKG.
class_docstr_tok: ["KGAT","is","a","knowledge-based","recommendation","model",".","It","combines","knowledge","graph","and","the","user-item","interaction","graph","to","a","new","graph","called","collaborative","knowledge","graph","(","CKG",")",".","This","model","learns","the","representations","of","users","and","items","by","exploiting","the","structure","of","CKG",".","It","adopts","a","GNN-based","architecture","and","define","the","attention","on","the","CKG","."]
code: def predict(self, interaction):
      user = interaction[self.USER_ID]
      item = interaction[self.ITEM_ID]
  
      user_all_embeddings, entity_all_embeddings = self.forward()
  
      u_embeddings = user_all_embeddings[user]
      i_embeddings = entity_all_embeddings[item]
      scores = torch.mul(u_embeddings, i_embeddings).sum(dim=1)
      return scores
  
imports: import numpy
  import scipy.sparse
  import torch
  import torch.nn
  import torch.nn.functional
  from recbole.model.abstract_recommender import KnowledgeRecommender
  from recbole.model.init import xavier_normal_initialization
  from recbole.model.loss import BPRLoss, EmbLoss
  from recbole.utils import InputType
label_desc: Use image node_id 10 for calling the KGAT obj's underlying member method code with example usage: obj.predict(interaction) and returns: scores