code: def preprocess_features(features):
      """Row-normalize feature matrix and convert to tuple representation"""
      rowsum = np.array(features.sum(1))
      r_inv = np.power(rowsum, -1).flatten()
      r_inv[np.isinf(r_inv)] = 0.0
      r_mat_inv = sp.diags(r_inv)
      features = sp.coo_matrix(features)
      features = r_mat_inv.dot(features)
      return sparse_to_tuple(features)
  
file_path: OpenNE/src/openne/gcn/utils.py
imports: import numpy
  import pickle
  import networkx
  import scipy.sparse
  from scipy.sparse.linalg.eigen.arpack import eigsh
  import sys
label_desc: Use image node_id 5 for calling a global function with example usage: preprocess_features(features) and returns: sparse_to_tuple