-
Notifications
You must be signed in to change notification settings - Fork 5.9k
[API Compatibility No.6] Sink bitwise_xor and bitwise_xor_ to cpp -part #76341
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Changes from 1 commit
d74db35
80d3ad9
c7ed42b
4ed899f
f6841d0
9f92fbd
4f01bbc
6d385e6
c9e9706
0f7b938
2b1b309
e25e4da
db3b1fb
d5240bf
d3bab02
38b750c
b7bf087
a434bce
ea3d45e
68d4666
a34a8de
24bc5c1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
…stubs for bitwise_xor parameter alias support
- Loading branch information
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -14,7 +14,7 @@ | |
|
|
||
| from __future__ import annotations | ||
|
|
||
| from typing import TYPE_CHECKING, Any | ||
| from typing import TYPE_CHECKING, Any, overload | ||
|
|
||
| from typing_extensions import TypeGuard | ||
|
|
||
|
|
@@ -49,6 +49,20 @@ | |
| if TYPE_CHECKING: | ||
| from paddle import Tensor | ||
|
|
||
| @overload | ||
| def bitwise_xor( | ||
| x: Tensor, y: Tensor, out: Tensor | None = None, name: str | None = None | ||
| ) -> Tensor: ... | ||
|
|
||
| def bitwise_xor( | ||
| *, | ||
| input: Tensor, | ||
| other: Tensor, | ||
| out: Tensor | None = None, | ||
| name: str | None = None, | ||
| ) -> Tensor: ... | ||
|
|
||
|
|
||
| __all__ = [] | ||
|
|
||
|
|
||
|
|
@@ -1226,7 +1240,9 @@ def bitwise_xor( | |
|
|
||
|
||
| Args: | ||
| x (Tensor): Input Tensor of ``bitwise_xor`` . It is a N-D Tensor of bool, uint8, int8, int16, int32, int64. | ||
| Parameter alias: ``input``. | ||
| y (Tensor): Input Tensor of ``bitwise_xor`` . It is a N-D Tensor of bool, uint8, int8, int16, int32, int64. | ||
| Parameter alias: ``other``. | ||
| out (Tensor|None, optional): Result of ``bitwise_xor`` . It is a N-D Tensor with the same data type of input Tensor. Default: None. | ||
| name (str|None, optional): The default value is None. Normally there is no need for | ||
| user to set this property. For more information, please refer to :ref:`api_guide_Name`. | ||
|
|
@@ -1240,10 +1256,17 @@ def bitwise_xor( | |
| >>> import paddle | ||
| >>> x = paddle.to_tensor([-5, -1, 1]) | ||
| >>> y = paddle.to_tensor([4, 2, -3]) | ||
| >>> # Using original parameter name | ||
| >>> res = paddle.bitwise_xor(x, y) | ||
| >>> print(res) | ||
| Tensor(shape=[3], dtype=int64, place=Place(cpu), stop_gradient=True, | ||
| [-1, -3, -4]) | ||
|
|
||
| >>> # Using Pytorch-compatible parameter name | ||
| >>> res = paddle.bitwise_xor(input=x, other=y) | ||
| >>> print(res) | ||
| Tensor(shape=[3], dtype=int64, place=Place(cpu), stop_gradient=True, | ||
| [-1, -3, -4]) | ||
| """ | ||
| if in_dynamic_or_pir_mode() and out is None: | ||
| return _C_ops.bitwise_xor(x, y) | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -167,7 +167,7 @@ def test_dygraph_binary(self): | |
| # 1) x is 0D, y is 0D | ||
| x_np = np.random.randint(-10, 10, []) | ||
| y_np = np.random.randint(-10, 10, []) | ||
| out_np = eval(f'np.{api.__name__}(x_np, y_np)') | ||
| out_np = eval(f'np.{api.__name__.lstrip("_")}(x_np, y_np)') | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. zero_dim这里为啥需要改
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 这里的改动是因为测试会有报错 ======================================================================
ERROR: test_dygraph_binary (__main__.TestBinaryAPI.test_dygraph_binary)
----------------------------------------------------------------------
Traceback (most recent call last):
File "D:\Xue\ML\PaddleDebug\test\legacy_test\test_zero_dim_binary_api.py", line 170, in test_dygraph_binary
out_np = eval(f'np.{api.__name__}(x_np, y_np)')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<string>", line 1, in <module>
File "C:\Users\tzy12\anaconda3\envs\paddle\Lib\site-packages\numpy\__init__.py", line 808, in __getattr__
raise AttributeError(f"module {__name__!r} has no attribute {attr!r}")
AttributeError: module 'numpy' has no attribute '_bitwise_xor'. Did you mean: 'bitwise_xor'?
----------------------------------------------------------------------
Ran 6 tests in 0.508s |
||
|
|
||
| x = paddle.to_tensor(x_np) | ||
| y = paddle.to_tensor(y_np) | ||
|
|
@@ -179,7 +179,7 @@ def test_dygraph_binary(self): | |
| # 2) x is ND, y is 0D | ||
| x_np = np.random.randint(-10, 10, [3, 5]) | ||
| y_np = np.random.randint(-10, 10, []) | ||
| out_np = eval(f'np.{api.__name__}(x_np, y_np)') | ||
| out_np = eval(f'np.{api.__name__.lstrip("_")}(x_np, y_np)') | ||
|
|
||
| x = paddle.to_tensor(x_np) | ||
| y = paddle.to_tensor(y_np) | ||
|
|
@@ -191,7 +191,7 @@ def test_dygraph_binary(self): | |
| # 3) x is 0D , y is ND | ||
| x_np = np.random.randint(-10, 10, []) | ||
| y_np = np.random.randint(-10, 10, [3, 5]) | ||
| out_np = eval(f'np.{api.__name__}(x_np, y_np)') | ||
| out_np = eval(f'np.{api.__name__.lstrip("_")}(x_np, y_np)') | ||
|
|
||
| x = paddle.to_tensor(x_np) | ||
| y = paddle.to_tensor(y_np) | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
下沉后,需要移除之前的python api,就没有这一层逻辑了。直接走c++