From 6c7c38e70c795077ba727aadeefc670888bec089 Mon Sep 17 00:00:00 2001 From: Michalis Spyrou Date: Wed, 29 Aug 2018 16:28:11 +0100 Subject: COMPMID-1462 SSD support: Create CL PriorBox Change-Id: I5bf5d751ec7c02d96c26a769f49d03ea23a248b7 --- arm_compute/core/utils/misc/ShapeCalculator.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'arm_compute/core/utils') diff --git a/arm_compute/core/utils/misc/ShapeCalculator.h b/arm_compute/core/utils/misc/ShapeCalculator.h index 1f532ca31e..5c9457ed6b 100644 --- a/arm_compute/core/utils/misc/ShapeCalculator.h +++ b/arm_compute/core/utils/misc/ShapeCalculator.h @@ -646,6 +646,20 @@ inline TensorShape compute_space_to_batch_shape(const ITensorInfo *input, const return output_shape; } +inline TensorShape compute_prior_box_shape(const ITensorInfo &input, const PriorBoxLayerInfo &info) +{ + DataLayout data_layout = input.data_layout(); + const size_t idx_w = get_data_layout_dimension_index(data_layout, DataLayoutDimension::WIDTH); + const size_t idx_h = get_data_layout_dimension_index(data_layout, DataLayoutDimension::HEIGHT); + + const int num_priors = info.aspect_ratios().size() * info.min_sizes().size() + info.max_sizes().size(); + + TensorShape output_shape{}; + output_shape.set(0, input.dimension(idx_w) * input.dimension(idx_h) * num_priors * 4); + output_shape.set(1, 2); + + return output_shape; +} inline TensorShape compute_padded_shape(const TensorShape &input_shape, const PaddingList &padding) { -- cgit v1.2.1