code: def _edge_softmax_backward(gidx, out, sds):
      r"""Edge_softmax backward interface.
  
      Parameters
      ----------
      gidx : HeteroGraphIndex
          The input graph index.
      out : tensor
          The result of Edge_softmax during forward.
      sds : tensor
          The result of out * gradient.
  
      Returns
      -------
      The result of Edge_softmax during backward
  
      Notes
      -----
      This function does not support gpu op.
      """
      op = "copy_rhs"
      back_out = F.zeros_like(out)
      _CAPI_DGLKernelEdge_softmax_backward(
          gidx,
          op,
          to_dgl_nd(out),
          to_dgl_nd(sds),
          to_dgl_nd_for_write(back_out),
          to_dgl_nd(None),
      )
      return back_out
  
imports: from __future__ import absolute_import
  from .None import backend, ndarray
  from ._ffi.function import _init_api
  from .base import DGLError
label_desc: Use image node_id 5 for calling a global function with example usage: _edge_softmax_backward(gidx, out, sds) and returns: back_out