| @@ -27,12 +27,12 @@ from .._c_expression import Tensor as Tensor_ | |||
| from .._c_expression.typing import Float | |||
| from .utils import _check_input_for_asarray, _deep_list, _deep_tensor_to_nparray, \ | |||
| _expand, _broadcast_to_shape, _check_input_tensor, _convert_64_to_32, _get_dtype_from_scalar | |||
| _broadcast_to_shape, _check_input_tensor, _convert_64_to_32, _get_dtype_from_scalar | |||
| from .utils_const import _raise_value_error, _empty, _check_axis_valid, _max, _min, \ | |||
| _check_same_type, _is_shape_empty, _check_shape, _check_dtype, _tile_size, _abs, \ | |||
| _raise_type_error, _expanded_shape, _check_is_float, _iota, \ | |||
| _type_convert, _canonicalize_axis, _list_comprehensions, _ceil | |||
| from .array_ops import transpose, ravel, concatenate, broadcast_arrays, reshape | |||
| from .array_ops import transpose, ravel, concatenate, broadcast_arrays, reshape, broadcast_to | |||
| from .dtypes import nan | |||
| # According to official numpy reference, the dimension of a numpy array must be less | |||
| @@ -355,9 +355,7 @@ def full(shape, fill_value, dtype=None): | |||
| return F.fill(dtype, shape, fill_value) | |||
| if isinstance(fill_value, (list, tuple)): | |||
| fill_value = asarray_const(fill_value) | |||
| if isinstance(fill_value, Tensor): | |||
| fill_value = _expand(fill_value, len(shape)) | |||
| return F.tile(fill_value, _tile_size(fill_value.shape, shape, len(shape))) | |||
| return broadcast_to(fill_value, shape) | |||
| # if shape contains zero, use c.Tensor() | |||
| return _convert_64_to_32(empty_compile(dtype, shape)) | |||
| @@ -366,9 +364,6 @@ def arange(start, stop=None, step=None, dtype=None): | |||
| """ | |||
| Returns evenly spaced values within a given interval. | |||
| Returns `num` evenly spaced samples, calculated over the interval :math:`[start, stop]`. | |||
| The endpoint of the interval can optionally be excluded. | |||
| Args: | |||
| start(Union[int, float]): Start of interval. The interval includes this value. | |||
| When `stop` is provided as a position argument, `start` must be given, when `stop` | |||
| @@ -92,7 +92,7 @@ def expand_dims(a, axis): | |||
| the new axis is placed, | |||
| Returns: | |||
| View of `a` with the number of dimensions increased. | |||
| Tensor, with the number of dimensions increased at specified axis. | |||
| Raises: | |||
| TypeError: If input arguments have types not specified above. | |||
| @@ -822,7 +822,7 @@ def atleast_1d(*arys): | |||
| def atleast_2d(*arys): | |||
| """ | |||
| Views inputs as arrays with at least two dimensions. | |||
| Reshapes inputs as arrays with at least two dimensions. | |||
| Note: | |||
| In graph mode, returns a tuple of tensor instead of a list of | |||
| @@ -859,7 +859,7 @@ def atleast_2d(*arys): | |||
| def atleast_3d(*arys): | |||
| """ | |||
| Views inputs as arrays with at least three dimensions. | |||
| Reshapes inputs as arrays with at least three dimensions. | |||
| Note: | |||
| In graph mode, returns a tuple of tensor instead of a list of | |||
| @@ -870,8 +870,8 @@ def atleast_3d(*arys): | |||
| Returns: | |||
| Tensor, or list of tensors, each with ``a.ndim >= 3``. For example, | |||
| a 1-D array of shape `(N,)` becomes a view of shape `(1, N, 1)`, and | |||
| a 2-D array of shape `(M, N)` becomes a view of shape `(M, N, 1)`. | |||
| a 1-D array of shape `(N,)` becomes a tensor of shape `(1, N, 1)`, and | |||
| a 2-D array of shape `(M, N)` becomes a tensor of shape `(M, N, 1)`. | |||
| Raises: | |||
| TypeError: if the input is not a tensor. | |||
| @@ -1591,7 +1591,7 @@ def flip(m, axis=None): | |||
| all of the axes specified in the tuple. | |||
| Returns: | |||
| Tensor, a view of `m` with the entries of `axis` reversed. | |||
| Tensor, with the entries of `axis` reversed. | |||
| Raises: | |||
| TypeError: if the input is not a tensor. | |||
| @@ -95,7 +95,7 @@ def less_equal(x1, x2, out=None, where=True, dtype=None): | |||
| Returns: | |||
| Tensor or scalar, element-wise comparison of `x1` and `x2`. Typically of type | |||
| bool, unless ``dtype=object`` is passed. This is a scalar if both `x1` and `x2` are | |||
| bool, unless `dtype` is passed. This is a scalar if both `x1` and `x2` are | |||
| scalars. | |||
| Raises: | |||
| @@ -142,7 +142,7 @@ def less(x1, x2, out=None, where=True, dtype=None): | |||
| Returns: | |||
| Tensor or scalar, element-wise comparison of `x1` and `x2`. Typically of type | |||
| bool, unless ``dtype=object`` is passed. This is a scalar if both `x1` and `x2` are | |||
| bool, unless `dtype` is passed. This is a scalar if both `x1` and `x2` are | |||
| scalars. | |||
| Raises: | |||
| @@ -188,7 +188,7 @@ def greater_equal(x1, x2, out=None, where=True, dtype=None): | |||
| Returns: | |||
| Tensor or scalar, element-wise comparison of `x1` and `x2`. Typically of type | |||
| bool, unless ``dtype=object`` is passed. This is a scalar if both `x1` and `x2` are | |||
| bool, unless `dtype` is passed. This is a scalar if both `x1` and `x2` are | |||
| scalars. | |||
| Raises: | |||
| @@ -234,7 +234,7 @@ def greater(x1, x2, out=None, where=True, dtype=None): | |||
| Returns: | |||
| Tensor or scalar, element-wise comparison of `x1` and `x2`. Typically of type | |||
| bool, unless ``dtype=object`` is passed. This is a scalar if both `x1` and `x2` are | |||
| bool, unless `dtype` is passed. This is a scalar if both `x1` and `x2` are | |||
| scalars. | |||
| Raises: | |||
| @@ -280,7 +280,7 @@ def equal(x1, x2, out=None, where=True, dtype=None): | |||
| Returns: | |||
| Tensor or scalar, element-wise comparison of `x1` and `x2`. Typically of type | |||
| bool, unless ``dtype=object`` is passed. This is a scalar if both `x1` and `x2` are | |||
| bool, unless `dtype` is passed. This is a scalar if both `x1` and `x2` are | |||
| scalars. | |||
| Raises: | |||
| @@ -1692,7 +1692,7 @@ def amin(a, axis=None, keepdims=False, initial=None, where=True): | |||
| a (Tensor): Input data. | |||
| axis (None or int or tuple of ints, optional): defaults to None. Axis or | |||
| axes along which to operate. By default, flattened input is used. If | |||
| this is a tuple of ints, the maximum is selected over multiple axes, | |||
| this is a tuple of ints, the minimum is selected over multiple axes, | |||
| instead of a single axis or all the axes as before. | |||
| keepdims (boolean, optional): defaults to False. | |||
| If this is set to True, the axes which are reduced are left in the | |||
| @@ -58,7 +58,7 @@ def count_nonzero(x, axis=(), keep_dims=False, dtype=mstype.int32): | |||
| Tensor, number of nonzero element. The data type is dtype. | |||
| Supported Platforms: | |||
| ``Ascend`` ``GPU`` | |||
| ``Ascend`` ``GPU`` ``CPU`` | |||
| Examples: | |||
| >>> input_x = Tensor(np.array([[0, 1, 0], [1, 1, 0]]).astype(np.float32)) | |||
| @@ -77,7 +77,7 @@ def count_nonzero(x, axis=(), keep_dims=False, dtype=mstype.int32): | |||
| reduce_sum = P.ReduceSum(keep_dims) | |||
| nonzero_bool = not_equal(x, 0) | |||
| # ReduceSum only support float16 or float32 tensor. | |||
| nonzero_val = cast(nonzero_bool, mstype.float16) | |||
| nonzero_val = cast(nonzero_bool, mstype.float32) | |||
| nonzero_num = cast(reduce_sum(nonzero_val, axis), dtype) | |||
| return nonzero_num | |||