aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/core/utils
diff options
context:
space:
mode:
authorMichalis Spyrou <michalis.spyrou@arm.com>2018-08-29 16:28:11 +0100
committerMichalis Spyrou <michalis.spyrou@arm.com>2018-11-14 15:42:37 +0000
commit6c7c38e70c795077ba727aadeefc670888bec089 (patch)
tree7969d7976b22b881f2c08e97a772a4537e203629 /arm_compute/core/utils
parentd8e340d2fef39c78a9afda93b210a8640145df87 (diff)
downloadComputeLibrary-6c7c38e70c795077ba727aadeefc670888bec089.tar.gz
COMPMID-1462 SSD support: Create CL PriorBox
Change-Id: I5bf5d751ec7c02d96c26a769f49d03ea23a248b7
Diffstat (limited to 'arm_compute/core/utils')
-rw-r--r--arm_compute/core/utils/misc/ShapeCalculator.h14
1 files changed, 14 insertions, 0 deletions
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)
{