code: def scatter_elements(
      data, indices, updates, axis=0, reduction="update"
  ):
      """Scatter elements with updating data by reduction of values in updates
      at positions defined by indices.
  
      Parameters
      ----------
      data : relay.Expr
          The input data to the operator.
  
      indices : relay.Expr
          The index locations to update.
  
      updates : relay.Expr
          The values to update.
  
      axis : int
          The axis to scatter elements on. It is zero by default.
  
      reduction : string, optional
          The reduction mode for scatter. Choise is from ["update", "add", "mul", "mean", "min", max"]
          If update, the update values will replace the input data
          If add, the update values will be added to the input data
          If mul, the input data will be multiplied on the update values
          If mean, the input data will be mean between the update values and the input data
          If min, there is choice of minimal between the update values and the input data
          If max, there is choice of maximal between the update values and the input data
          It is "update" by default
  
      Returns
      -------
      ret : relay.Expr
          The computed result.
      """
      return _make.scatter_elements(
          data, indices, updates, axis, reduction
      )
  
imports: from ...tir import expr
  from ..expr import Constant, Expr, Tuple, TupleWrapper, const
  from .None import _make
  from .dyn import _make
  from .tensor import shape_of
label_desc: Use image node_id 10 for calling a global function with example usage: scatter_elements(data, indices, updates, axis, reduction) and returns: _make