code: def csrsum_real(gidxs, weights):
      gidxC, C_weights = _csrsum(gidxs, weights)
      (
          nrows,
          ncols,
          C_indptr,
          C_indices,
          C_eids,
      ) = gidxC.adjacency_matrix_tensors(0, False, "csr")
  
      def grad(
          dnrows, dncols, dC_indptr, dC_indices, dC_eids, dC_weights
      ):
          # Only the last argument is meaningful.
          return tuple(
              _csrmask(gidxC, dC_weights, gidx) for gidx in gidxs
          )
  
      return (
          tf.constant(nrows),
          tf.constant(ncols),
          C_indptr,
          C_indices,
          C_eids,
          C_weights,
      ), grad
  
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 20 for calling a global function with example usage: csrsum_real(gidxs, weights) and returns: tf,  tf,  C_indptr,  C_indices,  C_eids,  C_weights,  grad, tuple