Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
dbd6e2df
P
Paddle
项目概览
机器未来
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
dbd6e2df
编写于
4月 07, 2022
作者:
C
Chen Weihang
提交者:
GitHub
4月 07, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add unique yaml and final state api (#41460)
上级
8fba68d3
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
27 addition
and
5 deletion
+27
-5
python/paddle/fluid/tests/unittests/test_unique.py
python/paddle/fluid/tests/unittests/test_unique.py
+7
-0
python/paddle/tensor/manipulation.py
python/paddle/tensor/manipulation.py
+10
-5
python/paddle/utils/code_gen/api.yaml
python/paddle/utils/code_gen/api.yaml
+10
-0
未找到文件。
python/paddle/fluid/tests/unittests/test_unique.py
浏览文件 @
dbd6e2df
...
...
@@ -21,6 +21,7 @@ import paddle
import
paddle.fluid
as
fluid
import
paddle.fluid.core
as
core
from
paddle.fluid.op
import
Operator
from
paddle.fluid.framework
import
_test_eager_guard
class
TestUniqueOp
(
OpTest
):
...
...
@@ -251,6 +252,12 @@ class TestUniqueAPI(unittest.TestCase):
self
.
assertTrue
((
counts
.
numpy
()
==
np_counts
).
all
(),
True
)
paddle
.
enable_static
()
def
test_dygraph_final_state_api
(
self
):
with
_test_eager_guard
():
self
.
test_dygraph_api_out
()
self
.
test_dygraph_api_attr
()
self
.
test_dygraph_attr_dtype
()
def
test_static_graph
(
self
):
with
paddle
.
static
.
program_guard
(
paddle
.
static
.
Program
(),
paddle
.
static
.
Program
()):
...
...
python/paddle/tensor/manipulation.py
浏览文件 @
dbd6e2df
...
...
@@ -1211,11 +1211,16 @@ def unique(x,
else
:
axis
=
[
axis
]
attr_dtype
=
convert_np_dtype_to_dtype_
(
dtype
)
if
paddle
.
in_dynamic_mode
():
out
,
inverse
,
indices
,
counts
=
_C_ops
.
unique
(
x
,
'dtype'
,
attr_dtype
,
'return_index'
,
return_index
,
'return_inverse'
,
return_inverse
,
'return_counts'
,
return_counts
,
'axis'
,
axis
,
"is_sorted"
,
True
)
if
_non_static_mode
():
if
in_dygraph_mode
():
out
,
indices
,
inverse
,
counts
=
_C_ops
.
final_state_unique
(
x
,
return_index
,
return_inverse
,
return_counts
,
axis
,
attr_dtype
)
if
_in_legacy_dygraph
():
out
,
inverse
,
indices
,
counts
=
_C_ops
.
unique
(
x
,
'dtype'
,
attr_dtype
,
'return_index'
,
return_index
,
'return_inverse'
,
return_inverse
,
'return_counts'
,
return_counts
,
'axis'
,
axis
,
"is_sorted"
,
True
)
outs
=
[
out
]
if
return_index
:
outs
.
append
(
indices
)
...
...
python/paddle/utils/code_gen/api.yaml
浏览文件 @
dbd6e2df
...
...
@@ -1937,6 +1937,16 @@
func
:
unfold
backward
:
unfold_grad
# The `axis` argument of Python API paddle.unique is not vector
-
api
:
unique
args
:
(Tensor x, bool return_index, bool return_inverse, bool return_counts, int[] axis, DataType dtype=DataType::INT64)
output
:
Tensor(out), Tensor(indices), Tensor(inverse), Tensor(counts)
infer_meta
:
func
:
UniqueInferMeta
kernel
:
func
:
unique
data_type
:
x
-
api
:
unsqueeze
args
:
(Tensor x, IntArray axes)
output
:
Tensor(xshape), Tensor(out)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录