未验证 提交 51939c83 编写于 作者: R ronnywang 提交者: GitHub

Fix the parameter name for atan2 API (#34812)

上级 209075a4
...@@ -2491,25 +2491,25 @@ def neg(x, name=None): ...@@ -2491,25 +2491,25 @@ def neg(x, name=None):
return layers.scale(x, scale=-1.0, bias=0.0, bias_after_scale=True, act=None, name=name) return layers.scale(x, scale=-1.0, bias=0.0, bias_after_scale=True, act=None, name=name)
def atan2(y, x, name=None): def atan2(x, y, name=None):
r""" r"""
Element-wise arctangent of y/x with consideration of the quadrant. Element-wise arctangent of x/y with consideration of the quadrant.
Equation: Equation:
.. math:: .. math::
atan2(y,x)=\left\{\begin{matrix} atan2(x,y)=\left\{\begin{matrix}
& tan^{-1}(\frac{y}{x}) & x > 0 \\ & tan^{-1}(\frac{x}{y}) & y > 0 \\
& tan^{-1}(\frac{y}{x}) + \pi & y>=0, x < 0 \\ & tan^{-1}(\frac{x}{y}) + \pi & x>=0, y < 0 \\
& tan^{-1}(\frac{y}{x}) - \pi & y<0, x < 0 \\ & tan^{-1}(\frac{x}{y}) - \pi & x<0, y < 0 \\
& +\frac{\pi}{2} & y>0, x = 0 \\ & +\frac{\pi}{2} & x>0, y = 0 \\
& -\frac{\pi}{2} & y<0, x = 0 \\ & -\frac{\pi}{2} & x<0, y = 0 \\
&\text{undefined} & y=0, x = 0 &\text{undefined} & x=0, y = 0
\end{matrix}\right. \end{matrix}\right.
Args: Args:
y (Tensor): An N-D Tensor, the data type is int32, int64, float16, float32, float64. x (Tensor): An N-D Tensor, the data type is int32, int64, float16, float32, float64.
x (Tensor): An N-D Tensor, must have the same type as `x`. y (Tensor): An N-D Tensor, must have the same type as `x`.
name (str, optional): Name for the operation (optional, default is None). For more information, please refer to :ref:`api_guide_Name`. name (str, optional): Name for the operation (optional, default is None). For more information, please refer to :ref:`api_guide_Name`.
Returns: Returns:
...@@ -2520,28 +2520,28 @@ def atan2(y, x, name=None): ...@@ -2520,28 +2520,28 @@ def atan2(y, x, name=None):
import paddle import paddle
y = paddle.to_tensor([-1, +1, +1, -1]).astype('float32') x = paddle.to_tensor([-1, +1, +1, -1]).astype('float32')
#Tensor(shape=[4], dtype=float32, place=CUDAPlace(0), stop_gradient=True, #Tensor(shape=[4], dtype=float32, place=CUDAPlace(0), stop_gradient=True,
# [-1, 1, 1, -1]) # [-1, 1, 1, -1])
x = paddle.to_tensor([-1, -1, +1, +1]).astype('float32') y = paddle.to_tensor([-1, -1, +1, +1]).astype('float32')
#Tensor(shape=[4], dtype=float32, place=CUDAPlace(0), stop_gradient=True, #Tensor(shape=[4], dtype=float32, place=CUDAPlace(0), stop_gradient=True,
# [-1, -1, 1, 1]) # [-1, -1, 1, 1])
out = paddle.atan2(y, x) out = paddle.atan2(x, y)
#Tensor(shape=[4], dtype=float32, place=CUDAPlace(0), stop_gradient=True, #Tensor(shape=[4], dtype=float32, place=CUDAPlace(0), stop_gradient=True,
# [-2.35619450, 2.35619450, 0.78539819, -0.78539819]) # [-2.35619450, 2.35619450, 0.78539819, -0.78539819])
""" """
if in_dygraph_mode(): if in_dygraph_mode():
return _C_ops.atan2(y, x) return _C_ops.atan2(x, y)
else: else:
check_variable_and_dtype(y, 'y', ['int32', 'int64', 'float16', 'float32', 'float64'], 'atan2')
check_variable_and_dtype(x, 'x', ['int32', 'int64', 'float16', 'float32', 'float64'], 'atan2') check_variable_and_dtype(x, 'x', ['int32', 'int64', 'float16', 'float32', 'float64'], 'atan2')
check_variable_and_dtype(y, 'y', ['int32', 'int64', 'float16', 'float32', 'float64'], 'atan2')
helper = LayerHelper('atan2', **locals()) helper = LayerHelper('atan2', **locals())
inputs = {'X1' : y, 'X2' : x} inputs = {'X1' : x, 'X2' : y}
out = helper.create_variable_for_type_inference(dtype=x.dtype) out = helper.create_variable_for_type_inference(dtype=x.dtype)
helper.append_op( helper.append_op(
type='atan2', inputs=inputs, outputs={'Out': out}) type='atan2', inputs=inputs, outputs={'Out': out})
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册