code: def csrsum(gidxs, weights):
      @tf.custom_gradient
      def _lambda(*weights):
          return csrsum_real(gidxs, weights)
  
      nrows, ncols, C_indptr, C_indices, C_eids, C_weights = _lambda(
          *weights
      )
      num_vtypes = gidxs[0].number_of_ntypes()
      gidxC = create_unitgraph_from_csr(
          num_vtypes,
          nrows.numpy(),
          ncols.numpy(),
          C_indptr,
          C_indices,
          C_eids,
          ["coo", "csr", "csc"],
      )
      return gidxC, C_weights
  
imports: import numpy
  import tensorflow
  from ..._sparse_ops import _bwd_segment_cmp, _csrmask, _csrmm, _csrsum, _gsddmm, _gspmm, _scatter_add, _segment_reduce
  from ...base import ALL, is_all
  from ...heterograph_index import create_unitgraph_from_csr
  from .tensor import asnumpy, context, copy_to, tensor, zerocopy_from_numpy
label_desc: Use image node_id 21 for calling a global function with example usage: csrsum(gidxs, weights) and returns: gidxC,  C_weights, csrsum_real