parameters: (arr, pad_width, mode="constant", stat_length=None, constant_values=0,
          end_values=0, reflect_type="even", **kwargs)
return_statement: return _pad_func(arr, pad_width, mode, **kwargs)
docstring: Pads an array.
  
      Note:
          Currently, `median` mode is not supported. `reflect` and `symmetric` mode
          only supports GPU backend.
  
      Args:
          arr (Union[list, tuple, Tensor]): The array to pad.
          pad_width (Union[int, tuple, list]): Number of values padded to the edges of
              each axis. :class:`((before_1, after_1), ... (before_N, after_N))` creates
              unique pad widths for each axis. :class:`((before, after),)` yields same
              before and after pad for each axis. :class:`(pad,)` or int is a shortcut
              for :class:`before = after = pad width` for all axes.
          mode (string, optional):
              One of the following string values:
  
              - constant (default): Pads with a constant value.
              - edge: Pads with the edge values of `arr`.
              - linear_ramp: Pads with the linear ramp between end_value and the `arr` edge value.
              - maximum: Pads with the maximum value of all or part of the vector along each axis.
              - mean: Pads with the mean value of all or part of the vector along each axis.
              - median: Pads with the median value of all or part of the vector along each axis.
              - minimum: Pads with the minimum value of all or part of the vector along each axis.
              - reflect: Pads with the reflection of the vector mirrored on the first
                and last values of the vector along each axis.
              - symmetric: Pads with the reflection of the vector mirrored along the edge
                of the `arr`.
              - wrap: Pads with the wrap of the vector along the axis. The first values
                are used to pad the end and the end values are used to pad the beginning.
              - empty: Pads with undefined values.
              - <function>: The padding function, if used, should modify and return a new 1-d tensor.
                It has the following signature: :class:`padding_func(tensor, iaxis_pad_width, iaxis, kwargs)`
          stat_length (Union[tuple, list, int], optional): Used in \'maximum\', \'mean\',
              \'median\', and \'minimum\'.  Number of values at edge of each axis used
              to calculate the statistic value. :class:`((before_1, after_1), ... (before_N, after_N))`
              creates unique statistic lengths for each axis. :class:`((before, after),)`
              yields same before and after statistic lengths for each axis. :class:`(stat_length,)`
              or int is a shortcut for :class:`before = after = statistic length` for all
              axes. Default is :class:`None`, to use the entire axis.
          constant_values (Union[tuple, list, int], optional):
              Used in :class:`constant mode`. The values to set the padded values for each
              axis. :class:`((before_1, after_1), ... (before_N, after_N))` creates unique pad
              constants for each axis. :class:`((before, after),)` yields same before and
              after constants for each axis. :class:`(constant,)` or :class:`constant` is
              a shortcut for :class:`before = after = constant` for all axes. Default is 0.
          end_values (Union[tuple, list, int], optional): Used in 'linear_ramp'.  The values
              used for the ending value of the linear_ramp and that will form the edge of
              the padded `arr`. :class:`((before_1, after_1), ... (before_N, after_N))`
              unique end values for each axis. :class:`((before, after),)` yields same before
              and after end values for each axis. :class:`(constant,)` or :class:`constant`
              is a shortcut for :class:`before = after = constant` for all axes. Default is 0.
          reflect_type(string, optional) can choose between \'even\' and \'odd\'. Used in
              \'reflect\', and \'symmetric\'. The \'even\' style is the default with an
              unaltered reflection around the edge value. For the \'odd\' style, the extended
              part of the `arr` is created by subtracting the reflected values from two times
              the edge value.
          kwargs (anytype, optional): Any keyword arguments that will be used only in <function>
              mode.
  
      Returns:
          Padded tensor of rank equal to `arr` with shape increased according to `pad_width`.
  
      Raises:
          TypeError: If `arr`, `pad_width`, `stat_length`, `constant_values` or `end_values`
              have types not specified above.
          ValueError: If `mode` cannot be recognized, or if `pad_width`, `stat_length`,
              `constant_values`, `end_values` cannot broadcast to :class:`(arr.ndim, 2)`,
              or if keyword arguments got unexpected inputs.
          NotImplementedError: If mode is function or \'median\'.
  
      Supported Platforms:
          ``Ascend`` ``GPU`` ``CPU``
  
      Examples:
          >>> import mindspore.numpy as np
          >>> tensor = np.array([1., 2., 3., 4., 5.])
          >>> print(np.pad(tensor, (3, 4)))
          [0. 0. 0. 1. 2. 3. 4. 5. 0. 0. 0. 0.]
          >>> print(np.pad(tensor, (3, 4), mode="wrap"))
          [3. 4. 5. 1. 2. 3. 4. 5. 1. 2. 3. 4.]
          >>> print(np.pad(tensor, (3, 4), mode="linear_ramp", end_values=(10, 10)))
          [10.    7.    4.    1.    2.    3.    4.    5.    6.25  7.5   8.75 10.  ]
docstring_summary: Pads an array.
docstring_tokens: Pads an array .
function: def pad(arr, pad_width, mode="constant", stat_length=None, constant_values=0,
          end_values=0, reflect_type="even", **kwargs):
      """
      Pads an array.
  
      Note:
          Currently, `median` mode is not supported. `reflect` and `symmetric` mode
          only supports GPU backend.
  
      Args:
          arr (Union[list, tuple, Tensor]): The array to pad.
          pad_width (Union[int, tuple, list]): Number of values padded to the edges of
              each axis. :class:`((before_1, after_1), ... (before_N, after_N))` creates
              unique pad widths for each axis. :class:`((before, after),)` yields same
              before and after pad for each axis. :class:`(pad,)` or int is a shortcut
              for :class:`before = after = pad width` for all axes.
          mode (string, optional):
              One of the following string values:
  
              - constant (default): Pads with a constant value.
              - edge: Pads with the edge values of `arr`.
              - linear_ramp: Pads with the linear ramp between end_value and the `arr` edge value.
              - maximum: Pads with the maximum value of all or part of the vector along each axis.
              - mean: Pads with the mean value of all or part of the vector along each axis.
              - median: Pads with the median value of all or part of the vector along each axis.
              - minimum: Pads with the minimum value of all or part of the vector along each axis.
              - reflect: Pads with the reflection of the vector mirrored on the first
                and last values of the vector along each axis.
              - symmetric: Pads with the reflection of the vector mirrored along the edge
                of the `arr`.
              - wrap: Pads with the wrap of the vector along the axis. The first values
                are used to pad the end and the end values are used to pad the beginning.
              - empty: Pads with undefined values.
              - <function>: The padding function, if used, should modify and return a new 1-d tensor.
                It has the following signature: :class:`padding_func(tensor, iaxis_pad_width, iaxis, kwargs)`
          stat_length (Union[tuple, list, int], optional): Used in \'maximum\', \'mean\',
              \'median\', and \'minimum\'.  Number of values at edge of each axis used
              to calculate the statistic value. :class:`((before_1, after_1), ... (before_N, after_N))`
              creates unique statistic lengths for each axis. :class:`((before, after),)`
              yields same before and after statistic lengths for each axis. :class:`(stat_length,)`
              or int is a shortcut for :class:`before = after = statistic length` for all
              axes. Default is :class:`None`, to use the entire axis.
          constant_values (Union[tuple, list, int], optional):
              Used in :class:`constant mode`. The values to set the padded values for each
              axis. :class:`((before_1, after_1), ... (before_N, after_N))` creates unique pad
              constants for each axis. :class:`((before, after),)` yields same before and
              after constants for each axis. :class:`(constant,)` or :class:`constant` is
              a shortcut for :class:`before = after = constant` for all axes. Default is 0.
          end_values (Union[tuple, list, int], optional): Used in 'linear_ramp'.  The values
              used for the ending value of the linear_ramp and that will form the edge of
              the padded `arr`. :class:`((before_1, after_1), ... (before_N, after_N))`
              unique end values for each axis. :class:`((before, after),)` yields same before
              and after end values for each axis. :class:`(constant,)` or :class:`constant`
              is a shortcut for :class:`before = after = constant` for all axes. Default is 0.
          reflect_type(string, optional) can choose between \'even\' and \'odd\'. Used in
              \'reflect\', and \'symmetric\'. The \'even\' style is the default with an
              unaltered reflection around the edge value. For the \'odd\' style, the extended
              part of the `arr` is created by subtracting the reflected values from two times
              the edge value.
          kwargs (anytype, optional): Any keyword arguments that will be used only in <function>
              mode.
  
      Returns:
          Padded tensor of rank equal to `arr` with shape increased according to `pad_width`.
  
      Raises:
          TypeError: If `arr`, `pad_width`, `stat_length`, `constant_values` or `end_values`
              have types not specified above.
          ValueError: If `mode` cannot be recognized, or if `pad_width`, `stat_length`,
              `constant_values`, `end_values` cannot broadcast to :class:`(arr.ndim, 2)`,
              or if keyword arguments got unexpected inputs.
          NotImplementedError: If mode is function or \'median\'.
  
      Supported Platforms:
          ``Ascend`` ``GPU`` ``CPU``
  
      Examples:
          >>> import mindspore.numpy as np
          >>> tensor = np.array([1., 2., 3., 4., 5.])
          >>> print(np.pad(tensor, (3, 4)))
          [0. 0. 0. 1. 2. 3. 4. 5. 0. 0. 0. 0.]
          >>> print(np.pad(tensor, (3, 4), mode="wrap"))
          [3. 4. 5. 1. 2. 3. 4. 5. 1. 2. 3. 4.]
          >>> print(np.pad(tensor, (3, 4), mode="linear_ramp", end_values=(10, 10)))
          [10.    7.    4.    1.    2.    3.    4.    5.    6.25  7.5   8.75 10.  ]
      """
      arr = _to_tensor(arr)
      if arr.ndim == 0:
          return arr
      pad_width = _convert_pad_to_nd(pad_width, arr.ndim)
      stat_func = {"maximum": _reduce_max_keepdims,
                   "minimum": _reduce_min_keepdims,
                   "mean": _reduce_mean_keepdims,
                   "median": "not implemented"}
  
      if mode not in ("constant", "maximum", "minimum", "mean", "median", "edge",
                      "wrap", "linear_ramp", "symmetric", "reflect", "empty") and \
                      not _callable(arr, mode):
          _raise_value_error("Input mode not supported.")
  
      if mode == "constant":
          constant_values = _convert_pad_to_nd(constant_values, arr.ndim)
          return _pad_constant(arr, pad_width, constant_values)
      if mode in ("maximum", "minimum", "mean", "median"):
          # support median mode once P.Sort/P.Median is supported on GPU/CPU
          if mode == "median":
              _raise_unimplemented_error("median mode is not supported yet")
          return _pad_statistic(arr, pad_width, stat_length, stat_func[mode])
      if mode == "edge":
          return _pad_edge(arr, pad_width)
      if mode == "wrap":
          return _pad_wrap(arr, pad_width)
      if mode == "linear_ramp":
          return _pad_linear(arr, pad_width, end_values)
      if mode == "symmetric":
          return _pad_symmetric(arr, pad_width, reflect_type)
      if mode == "reflect":
          return _pad_reflect(arr, pad_width, reflect_type)
      if mode == 'empty':
          return _pad_empty(arr, pad_width)
      return _pad_func(arr, pad_width, mode, **kwargs)
function_tokens: def pad ( arr , pad_width , mode = "constant" , stat_length = None , constant_values = 0 , end_values = 0 , reflect_type = "even" , * * kwargs ) : arr = _to_tensor ( arr ) if arr . ndim == 0 : return arr pad_width = _convert_pad_to_nd ( pad_width , arr . ndim ) stat_func = { "maximum" : _reduce_max_keepdims , "minimum" : _reduce_min_keepdims , "mean" : _reduce_mean_keepdims , "median" : "not implemented" } if mode not in ( "constant" , "maximum" , "minimum" , "mean" , "median" , "edge" , "wrap" , "linear_ramp" , "symmetric" , "reflect" , "empty" ) and not _callable ( arr , mode ) : _raise_value_error ( "Input mode not supported." ) if mode == "constant" : constant_values = _convert_pad_to_nd ( constant_values , arr . ndim ) return _pad_constant ( arr , pad_width , constant_values ) if mode in ( "maximum" , "minimum" , "mean" , "median" ) : # support median mode once P.Sort/P.Median is supported on GPU/CPU if mode == "median" : _raise_unimplemented_error ( "median mode is not supported yet" ) return _pad_statistic ( arr , pad_width , stat_length , stat_func [ mode ] ) if mode == "edge" : return _pad_edge ( arr , pad_width ) if mode == "wrap" : return _pad_wrap ( arr , pad_width ) if mode == "linear_ramp" : return _pad_linear ( arr , pad_width , end_values ) if mode == "symmetric" : return _pad_symmetric ( arr , pad_width , reflect_type ) if mode == "reflect" : return _pad_reflect ( arr , pad_width , reflect_type ) if mode == 'empty' : return _pad_empty ( arr , pad_width ) return _pad_func ( arr , pad_width , mode , * * kwargs )