class_docstr: Data processing class for GCN models which use implicit feedback.
  
  Initialize train and test set, create normalized adjacency matrix and sample data for training epochs.
docstr: Load normalized adjacency matrix if it exists, otherwise create (and save) it.
  
  Returns:
      scipy.sparse.csr_matrix: Normalized adjacency matrix.
docstr_tok: ["Load","normalized","adjacency","matrix","if","it","exists",",","otherwise","create","(","and","save",")","it",".","Returns",":","scipy.sparse.csr_matrix",":","Normalized","adjacency","matrix","."]
code: def get_norm_adj_mat(self):
      """Load normalized adjacency matrix if it exists, otherwise create (and save) it.
  
      Returns:
          scipy.sparse.csr_matrix: Normalized adjacency matrix.
  
      """
      try:
          if self.adj_dir is None:
              raise FileNotFoundError
          norm_adj_mat = sp.load_npz(self.adj_dir + "/norm_adj_mat.npz")
          print("Already load norm adj matrix.")
  
      except FileNotFoundError:
          norm_adj_mat = self.create_norm_adj_mat()
          if self.adj_dir is not None:
              sp.save_npz(
                  self.adj_dir + "/norm_adj_mat.npz", norm_adj_mat
              )
      return norm_adj_mat
  
file_path: recommenders/recommenders/models/deeprec/DataModel/ImplicitCF.py
imports: import random
  import numpy
  import pandas
  import scipy.sparse
  from recommenders.utils.constants import DEFAULT_ITEM_COL, DEFAULT_USER_COL, DEFAULT_RATING_COL, DEFAULT_PREDICTION_COL
label_desc: Use image node_id 5 for calling the ImplicitCF obj's underlying member method code with example usage: obj.get_norm_adj_mat() and returns: norm_adj_mat