class_docstr: Scatter ``updates`` to ``data`` at locations ``indices`` at dimension ``axis``
  by the operation ``mode``.
  
  This section documents only the differences between this version and the
  iOS 15 :py:class:`~.iOS15.scatter_gather.scatter`. The major differences are as follows:
  
  - Input parameter ``indices`` now supports only positive values -- negative values
    are considered out-of-bound. If support for negative indices is required, they must be
    explicitly converted to positive values using the following::
  
      index = iOS17.select(index >= 0, index, index + max_index)
  
  - New input parameter called ``validate_indices`` has been added to all scatter ops. Its behavior is as follows:
     - If ``True``, it raises a runtime (possibly also a compile-time) exception
       for out-of-bound values of the ``indices`` parameter.
     - If ``False``, absolutely no checking is performed for out-of-bound values
       of ``indices`` either at compile or runtime. Behavior for out-of-bound indices
       is undefined but memory safe.
  
  
  Parameters
  ----------
  data: tensor<\*D, T> (Required)
  indices: tensor<[C], i32> (Required)
      * 1-D tensor.
  updates: tensor<\*K, T> (Required)
      * ``K = data.shape[:axis] + [len(indices)] + data.shape[axis+1:]``.
  axis: const i32 (Optional)
      * Default to ``0``.
  mode: const string (Optional)
      * Can be the following modes: ``add``, ``div``, ``max``, ``min``, ``mul``, ``sub``, ``update``.
      * Default value is ``update``.
  validate_indices: const bool (Optional)
      * If ``True``, it raises a runtime (possibly also a compile-time) exception
        for out-of-bound values of the ``indices`` parameter.
      * If ``False``, absolutely no checking is performed for out-of-bound values
        of ``indices`` either at compile or runtime. Behavior for out-of-bound indices
        is undefined but memory safe.
      * Default value is ``False``.
  
  Returns
  -------
  tensor<\*D, T>
      * With the same type and shape as input ``x``.
  
  Attributes
  ----------
  T: fp16, fp32, i32
class_docstr_tok: ["Scatter","``","updates","``","to","``","data","``","at","locations","``","indices","``","at","dimension","``","axis","``","by","the","operation","``","mode","``",".","This","section","documents","only","the","differences","between","this","version","and","the","iOS","15",":","py",":","class",":","`","~.iOS15.scatter_gather.scatter","`",".","The","major","differences","are","as","follows",":","-","Input","parameter","``","indices","``","now","supports","only","positive","values","--","negative","values","are","considered","out-of-bound",".","If","support","for","negative","indices","is","required",",","they","must","be","explicitly","converted","to","positive","values","using","the","following",":",":","index","=","iOS17.select","(","index",">","=","0",",","index",",","index","+","max_index",")","-","New","input","parameter","called","``","validate_indices","``","has","been","added","to","all","scatter","ops",".","Its","behavior","is","as","follows",":","-","If","``","True","``",",","it","raises","a","runtime","(","possibly","also","a","compile-time",")","exception","for","out-of-bound","values","of","the","``","indices","``","parameter",".","-","If","``","False","``",",","absolutely","no","checking","is","performed","for","out-of-bound","values","of","``","indices","``","either","at","compile","or","runtime",".","Behavior","for","out-of-bound","indices","is","undefined","but","memory","safe",".","Parameters","--","--","--","--","--","data",":","tensor","<","\\","*","D",",","T",">","(","Required",")","indices",":","tensor","<","[","C","]",",","i32",">","(","Required",")","*","1-D","tensor",".","updates",":","tensor","<","\\","*","K",",","T",">","(","Required",")","*","``","K","=","data.shape","[",":","axis","]","+","[","len","(","indices",")","]","+","data.shape","[","axis+1",":","]","``",".","axis",":","const","i32","(","Optional",")","*","Default","to","``","0","``",".","mode",":","const","string","(","Optional",")","*","Can","be","the","following","modes",":","``","add","``",",","``","div","``",",","``","max","``",",","``","min","``",",","``","mul","``",",","``","sub","``",",","``","update","``",".","*","Default","value","is","``","update","``",".","validate_indices",":","const","bool","(","Optional",")","*","If","``","True","``",",","it","raises","a","runtime","(","possibly","also","a","compile-time",")","exception","for","out-of-bound","values","of","the","``","indices","``","parameter",".","*","If","``","False","``",",","absolutely","no","checking","is","performed","for","out-of-bound","values","of","``","indices","``","either","at","compile","or","runtime",".","Behavior","for","out-of-bound","indices","is","undefined","but","memory","safe",".","*","Default","value","is","``","False","``",".","Returns","--","--","--","-","tensor","<","\\","*","D",",","T",">","*","With","the","same","type","and","shape","as","input","``","x","``",".","Attributes","--","--","--","--","--","T",":","fp16",",","fp32",",","i32"]
code: def default_inputs(self):
      return DefaultInputs(
          axis=0,
          mode="add",
          validate_indices=False,
      )
  
imports: import numpy
  from coremltools.converters.mil.mil import types
  from coremltools.converters.mil.mil.input_type import DefaultInputs, InputSpec, TensorInputType
  from coremltools.converters.mil.mil.ops.defs._op_reqs import register_op
  from coremltools.converters.mil.mil.ops.defs.iOS15.scatter_gather import scatter
  from coremltools.converters.mil.mil.ops.defs.iOS15.scatter_gather import scatter_along_axis
  from coremltools.converters.mil.mil.ops.defs.iOS15.scatter_gather import scatter_nd
  from coremltools.converters.mil.mil.ops.defs.iOS16.scatter_gather import gather
  from coremltools.converters.mil.mil.ops.defs.iOS16.scatter_gather import gather_along_axis
  from coremltools.converters.mil.mil.ops.defs.iOS16.scatter_gather import gather_nd
  from coremltools.converters.mil.mil.ops.defs.iOS17 import _IOS17_TARGET
label_desc: Use image node_id 1 for calling the scatter obj's underlying member method code with example usage: obj.default_inputs() and returns: DefaultInputs