diff --git a/mindspore/numpy/array_creations.py b/mindspore/numpy/array_creations.py index 4f4b85a2f9..ae66789658 100644 --- a/mindspore/numpy/array_creations.py +++ b/mindspore/numpy/array_creations.py @@ -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` diff --git a/mindspore/numpy/array_ops.py b/mindspore/numpy/array_ops.py index 78d1cccce1..f53fae5eab 100644 --- a/mindspore/numpy/array_ops.py +++ b/mindspore/numpy/array_ops.py @@ -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. diff --git a/mindspore/numpy/logic_ops.py b/mindspore/numpy/logic_ops.py index 754dca4432..93ccc4c459 100644 --- a/mindspore/numpy/logic_ops.py +++ b/mindspore/numpy/logic_ops.py @@ -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: diff --git a/mindspore/numpy/math_ops.py b/mindspore/numpy/math_ops.py index 78a629d047..1102d82bc7 100644 --- a/mindspore/numpy/math_ops.py +++ b/mindspore/numpy/math_ops.py @@ -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 diff --git a/mindspore/ops/composite/math_ops.py b/mindspore/ops/composite/math_ops.py index 3a08415c8b..22672a6b93 100644 --- a/mindspore/ops/composite/math_ops.py +++ b/mindspore/ops/composite/math_ops.py @@ -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