From 6602ccf4ca450f1fdaa37220e3790ba273f8d10e Mon Sep 17 00:00:00 2001 From: Shibo Tao <62922815+T8T9@users.noreply.github.com> Date: Thu, 16 Jul 2020 14:21:59 +0800 Subject: [PATCH] delete mul op. (#25499) * delete mul op. test=develop,test=document_fix * bug fix. test=develop,test=document_fix --- python/paddle/__init__.py | 1 - python/paddle/tensor/__init__.py | 1 - python/paddle/tensor/math.py | 88 -------------------------------- 3 files changed, 90 deletions(-) diff --git a/python/paddle/__init__.py b/python/paddle/__init__.py index 2eed69c9df6..8f370019a56 100644 --- a/python/paddle/__init__.py +++ b/python/paddle/__init__.py @@ -146,7 +146,6 @@ from .tensor.math import exp #DEFINE_ALIAS from .tensor.math import floor #DEFINE_ALIAS from .tensor.math import increment #DEFINE_ALIAS from .tensor.math import log #DEFINE_ALIAS -from .tensor.math import mul #DEFINE_ALIAS from .tensor.math import multiplex #DEFINE_ALIAS from .tensor.math import pow #DEFINE_ALIAS from .tensor.math import reciprocal #DEFINE_ALIAS diff --git a/python/paddle/tensor/__init__.py b/python/paddle/tensor/__init__.py index 62afe634716..f16404001ea 100644 --- a/python/paddle/tensor/__init__.py +++ b/python/paddle/tensor/__init__.py @@ -119,7 +119,6 @@ from .math import exp #DEFINE_ALIAS from .math import floor #DEFINE_ALIAS from .math import increment #DEFINE_ALIAS from .math import log #DEFINE_ALIAS -from .math import mul #DEFINE_ALIAS from .math import multiplex #DEFINE_ALIAS from .math import pow #DEFINE_ALIAS from .math import reciprocal #DEFINE_ALIAS diff --git a/python/paddle/tensor/math.py b/python/paddle/tensor/math.py index c1fba5aa558..b4a9c7a468e 100644 --- a/python/paddle/tensor/math.py +++ b/python/paddle/tensor/math.py @@ -260,94 +260,6 @@ def pow(input, exponent, out=None, name=None): return out -def mul(x, y, x_num_col_dims=1, y_num_col_dims=1, out=None, name=None): - """ - :alias_main: paddle.mul - :alias: paddle.mul,paddle.tensor.mul,paddle.tensor.math.mul - - Mul Operator. - This operator is used to perform matrix multiplication for input $x$ and $y$. - The equation is: - - .. math:: - Out = x * y - - Both the input $x$ and $y$ can carry the LoD (Level of Details) information, or not. - But the output only shares the LoD information with input $x$. - - Args: - x (Variable): The first input Tensor/LoDTensor of mul_op. - y (Variable): The second input Tensor/LoDTensor of mul_op. - x_num_col_dims (int, optional): The mul_op can take tensors with more than two dimensions as its inputs. - If the input $x$ is a tensor with more than two dimensions, $x$ will be flattened into a two-dimensional - matrix first. The flattening rule is: the first `num_col_dims` will be flattened to form the first - dimension of the final matrix (the height of the matrix), and the rest `rank(x) - num_col_dims` - dimensions are flattened to form the second dimension of the final matrix (the width of the matrix). - As a result, height of the flattened matrix is equal to the product of $x$'s first `x_num_col_dims` dimensions' - sizes, and width of the flattened matrix is equal to the product of $x$'s last `rank(x) - num_col_dims` - dimensions' size. For example, suppose $x$ is a 6-dimensional tensor with the shape [2, 3, 4, 5, 6], - and `x_num_col_dims` = 3. Thus, the flattened matrix will have a shape [2 x 3 x 4, 5 x 6] = [24, 30]. Default is 1. - y_num_col_dims (int, optional): The mul_op can take tensors with more than two dimensions as its inputs. If the - input $y$ is a tensor with more than two dimensions, $y$ will be flattened into a two-dimensional matrix first. - The attribute `y_num_col_dims` determines how $y$ is flattened. See comments of `x_num_col_dims` for more details. - Default is 1. - out(Variable, optinal): The Variable that stores results of the operation. If out is None, - a new Variable will be created to store the results. - name (str, optional): Name of the output. Normally there is no need for user to set this property. - For more information, please refer to :ref:`api_guide_Name`. Default is None. If both of out and name are not None, - the output name will be same as out. - - Returns: - Variable(Tensor/LoDTensor): The output Tensor/LoDTensor of mul op. - - Examples: - .. code-block:: python - - import paddle - import paddle.fluid as fluid - dataX = fluid.data(name="dataX", shape=[2, 5], dtype="float32") - dataY = fluid.data(name="dataY", shape=[5, 3], dtype="float32") - - res = fluid.data(name="output", shape=[2, 3], dtype="float32") - output = paddle.mul(dataX, dataY, - x_num_col_dims = 1, - y_num_col_dims = 1, - out=res) - - - """ - inputs = {"X": [x], "Y": [y]} - attrs = {"x_num_col_dims": x_num_col_dims, "y_num_col_dims": y_num_col_dims} - if in_dygraph_mode(): - outs = core.ops.mul(inputs, attrs) - return outs['Out'][0] - - helper = LayerHelper("mul", **locals()) - check_variable_and_dtype(x, 'x', ['float16', 'float32', 'float64'], 'mul') - check_variable_and_dtype(y, 'y', ['float16', 'float32', 'float64'], 'mul') - - if out is None: - out = helper.create_variable_for_type_inference(dtype=x.dtype) - else: - check_dtype( - out.dtype, out.name, - convert_dtype(x.dtype), 'mul', - '(The out data type in pow must be the same with input data type.)') - if name: - warnings.warn( - "The output Variable name of the paddle.tensor.pow operation can only be given by parameter out or name.\ - When parameter out and name are set at the same time, out has a higher priority than name. \ - Finally, the output Variable name is same as the out name %s" - % - out.name, - category=UserWarning, - stacklevel=2) - helper.append_op( - type="mul", inputs={"X": x, - "Y": y}, attrs=attrs, outputs={"Out": out}) - return out - - __ops__noattr__ = [ 'atan', 'sin', -- GitLab