未验证 提交 eb8353a4 编写于 作者: D duanboqiang 提交者: GitHub

unique_consecutive add 0d (#50213)

上级 26a8b5b2
......@@ -4581,6 +4581,14 @@ void UniqueConsecutiveInferMeta(const MetaTensor& x,
"unique_consecutive should have output tensor out."));
auto in_dims = x.dims();
if (x.dims().size() == 0) {
PADDLE_ENFORCE_EQ(axis.empty(),
true,
phi::errors::InvalidArgument(
"The Input(X) with 0-D Tensor, axis must be None"
"But now the axis is %d.",
axis[0]));
}
if (return_inverse) {
PADDLE_ENFORCE_NE(
index,
......
......@@ -2607,6 +2607,26 @@ class TestNoBackwardAPI(unittest.TestCase):
self.assertEqual(one_hot_label.shape, [4])
self.assertEqual(one_hot_label.numpy()[2], 1)
def test_unique_consecutive(self):
places = ['cpu']
if paddle.is_compiled_with_cuda():
places.append('gpu')
for place in places:
paddle.set_device(place)
x = paddle.rand([])
y, inverse, counts = paddle.unique_consecutive(
x,
return_inverse=True,
return_counts=True,
)
self.assertEqual(y, x)
self.assertEqual(inverse, 0)
self.assertEqual(counts, 1)
self.assertEqual(y.shape, [1])
self.assertEqual(inverse.shape, [1])
self.assertEqual(counts.shape, [1])
def test_unique(self):
places = ['cpu']
if paddle.is_compiled_with_cuda():
......@@ -2832,6 +2852,21 @@ class TestNoBackwardAPIStatic(unittest.TestCase):
self.assertEqual(res[0].shape, (4,))
self.assertEqual(res[0][2], 1)
def test_unique_consecutive(self):
x = paddle.rand([])
y, inverse, counts = paddle.unique_consecutive(
x, return_inverse=True, return_counts=True
)
prog = paddle.static.default_main_program()
res = self.exe.run(prog, fetch_list=[y, inverse, counts])
self.assertEqual(y, x)
self.assertEqual(inverse, 0)
self.assertEqual(counts, 1)
self.assertEqual(res[0].shape, (1,))
self.assertEqual(res[1].shape, (1,))
self.assertEqual(res[2].shape, (1,))
def test_unique(self):
x = paddle.rand([])
y, index, inverse, counts = paddle.unique(
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册