aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/core/utils
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2018-07-16 14:40:09 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:54:54 +0000
commite29acf14f5c3f2d2c20799a1ea3e4aad50dff834 (patch)
treeca7a01ed169605404b2b954fc0d174ee00e121f2 /arm_compute/core/utils
parent76259ca5a74a60ef2b80f29431ab53bbac9fdb63 (diff)
downloadComputeLibrary-e29acf14f5c3f2d2c20799a1ea3e4aad50dff834.tar.gz
COMPMID-1365: Add support for NHWC in CLDepthConcatenateLayer
Change-Id: I3ed55bdb95d888aff0b0b76fb841bf1669659308 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/139963 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'arm_compute/core/utils')
-rw-r--r--arm_compute/core/utils/misc/ShapeCalculator.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/arm_compute/core/utils/misc/ShapeCalculator.h b/arm_compute/core/utils/misc/ShapeCalculator.h
index 9bf6b046b4..e5516ba154 100644
--- a/arm_compute/core/utils/misc/ShapeCalculator.h
+++ b/arm_compute/core/utils/misc/ShapeCalculator.h
@@ -414,6 +414,31 @@ inline TensorShape get_shape_from_info(ITensorInfo *info)
}
template <typename T>
+inline TensorShape calculate_depth_concatenate_shape(const std::vector<T *> &inputs_vector)
+{
+ TensorShape out_shape = get_shape_from_info(inputs_vector[0]);
+
+ size_t max_x = 0;
+ size_t max_y = 0;
+ size_t depth = 0;
+
+ for(const auto &tensor : inputs_vector)
+ {
+ ARM_COMPUTE_ERROR_ON(tensor == nullptr);
+ const TensorShape shape = get_shape_from_info(tensor);
+ max_x = std::max(shape.x(), max_x);
+ max_y = std::max(shape.y(), max_y);
+ depth += shape.z();
+ }
+
+ out_shape.set(0, max_x);
+ out_shape.set(1, max_y);
+ out_shape.set(2, depth);
+
+ return out_shape;
+}
+
+template <typename T>
inline TensorShape calculate_width_concatenate_shape(const std::vector<T *> &inputs_vector)
{
TensorShape out_shape = get_shape_from_info(inputs_vector[0]);