From 3a8c7b694b9fd30bc50e86e0a54ead8e3a85cfac Mon Sep 17 00:00:00 2001 From: AnnaTz <111577222+AnnaTz@users.noreply.github.com> Date: Thu, 17 Aug 2023 16:30:04 +0100 Subject: [PATCH] update the paddle backend of ivy.stack to work for empty arrays --- ivy/functional/backends/paddle/manipulation.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ivy/functional/backends/paddle/manipulation.py b/ivy/functional/backends/paddle/manipulation.py index a513c9b5313a8..65f0d19c76911 100644 --- a/ivy/functional/backends/paddle/manipulation.py +++ b/ivy/functional/backends/paddle/manipulation.py @@ -231,6 +231,12 @@ def stack( arrays = list(map(lambda x: x.cast(dtype), arrays)) + first_shape = arrays[0].shape + if not all(arr.shape == first_shape for arr in arrays): + raise Exception("Shapes of all inputs must match") + if 0 in first_shape: + return ivy.empty(first_shape[:axis] + [len(arrays)] + first_shape[axis:], dtype=dtype) + if dtype in [paddle.int8, paddle.int16, paddle.uint8, paddle.float16, paddle.bool]: arrays = list(map(lambda x: x.cast("float32"), arrays)) return paddle.stack(arrays, axis=axis).cast(dtype)