class_docstr: LightGCN model
  
  :Citation:
  
      He, Xiangnan, Kuan Deng, Xiang Wang, Yan Li, Yongdong Zhang, and Meng Wang.
      "LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation." arXiv
      preprint arXiv:2002.02126, 2020.
docstr: Calculate the average embeddings of users and items after every layer of the model.
  
  Returns:
      tf.Tensor, tf.Tensor: Average user embeddings. Average item embeddings.
docstr_tok: ["Calculate","the","average","embeddings","of","users","and","items","after","every","layer","of","the","model",".","Returns",":","tf.Tensor",",","tf.Tensor",":","Average","user","embeddings",".","Average","item","embeddings","."]
code: def _create_lightgcn_embed(self):
      """Calculate the average embeddings of users and items after every layer of the model.
  
      Returns:
          tf.Tensor, tf.Tensor: Average user embeddings. Average item embeddings.
  
      """
      A_hat = self._convert_sp_mat_to_sp_tensor(self.norm_adj)
  
      ego_embeddings = tf.concat(
          [
              self.weights["user_embedding"],
              self.weights["item_embedding"],
          ],
          axis=0,
      )
      all_embeddings = [ego_embeddings]
  
      for k in range(0, self.n_layers):
          ego_embeddings = tf.sparse.sparse_dense_matmul(
              A_hat, ego_embeddings
          )
          all_embeddings += [ego_embeddings]
  
      all_embeddings = tf.stack(all_embeddings, 1)
      all_embeddings = tf.reduce_mean(
          input_tensor=all_embeddings, axis=1, keepdims=False
      )
      u_g_embeddings, i_g_embeddings = tf.split(
          all_embeddings, [self.n_users, self.n_items], 0
      )
      return u_g_embeddings, i_g_embeddings
  
imports: import tensorflow
  import time
  import os
  import sys
  import numpy
  import pandas
  from recommenders.evaluation.python_evaluation import map_at_k, ndcg_at_k, precision_at_k, recall_at_k
  from recommenders.utils.python_utils import get_top_k_scored_items
label_desc: Use image node_id 3 for calling the LightGCN obj's underlying member method code with example usage: obj._create_lightgcn_embed() and returns: u_g_embeddings,  i_g_embeddings