diff options
author | Manuel Bottini <manuel.bottini@arm.com> | 2019-06-17 12:04:40 +0100 |
---|---|---|
committer | Georgios Pinitas <georgios.pinitas@arm.com> | 2019-07-11 16:14:01 +0000 |
commit | c1b76faf6be5c33dbf3269faea95e185ac37992f (patch) | |
tree | c52ecf022bf8b5e54844258744e6a10619b68d83 /arm_compute/core/utils/misc | |
parent | 0ec65b8c6438b6d12f17487fdc4c870fe37c7caa (diff) | |
download | ComputeLibrary-c1b76faf6be5c33dbf3269faea95e185ac37992f.tar.gz |
COMPMID-2092: Refactoring interface for the deconvolution kernels (NEON/CL)
3RDPARTY_UPDATE
Change-Id: Id7ddf97e2c9ceb2cb84084fab2c6f5697890c193
Signed-off-by: giuros01 <giuseppe.rossini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1424
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Diffstat (limited to 'arm_compute/core/utils/misc')
-rw-r--r-- | arm_compute/core/utils/misc/ShapeCalculator.h | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/arm_compute/core/utils/misc/ShapeCalculator.h b/arm_compute/core/utils/misc/ShapeCalculator.h index 010501454f..65a2a1edf4 100644 --- a/arm_compute/core/utils/misc/ShapeCalculator.h +++ b/arm_compute/core/utils/misc/ShapeCalculator.h @@ -438,20 +438,17 @@ inline TensorShape compute_depthwise_convolution_shape(const ITensorInfo &input, /** Calculate the upsampled output shape used for deconvolution * - * @param[in] input Input tensor info - * @param[in] weights Weights tensor shape - * @param[in] sx Stride on x axis - * @param[in] sy Stride on y axis - * @param[in] inner_border_right The number of zeros added to right edge of the input. - * @param[in] inner_border_top The number of zeros added to top edge of the input. - * @param[in] out_dims Output shape dimensions - * @param[in] padx Padding on x axis - * @param[in] pady Padding on y axis + * @param[in] input Input tensor info + * @param[in] weights Weights tensor shape + * @param[in] sx Stride on x axis + * @param[in] sy Stride on y axis + * @param[in] out_dims Output shape dimensions + * @param[in] padx Padding on x axis + * @param[in] pady Padding on y axis * * @return the calculated shape */ -inline TensorShape compute_deconvolution_upsampled_shape(const ITensorInfo &input, const ITensorInfo &weights, unsigned int sx, unsigned int sy, unsigned int inner_border_right, - unsigned int inner_border_top, +inline TensorShape compute_deconvolution_upsampled_shape(const ITensorInfo &input, const ITensorInfo &weights, unsigned int sx, unsigned int sy, std::pair<unsigned int, unsigned int> &out_dims, unsigned int &padx, unsigned int &pady) { const DataLayout data_layout = input.data_layout(); @@ -459,8 +456,8 @@ inline TensorShape compute_deconvolution_upsampled_shape(const ITensorInfo &inpu const size_t idx_h = get_data_layout_dimension_index(data_layout, DataLayoutDimension::HEIGHT); // Find the upsampled dimensions - unsigned int out_x = (input.dimension(idx_w) - 1) * sx + inner_border_right + 1; - unsigned int out_y = (input.dimension(idx_h) - 1) * sy + inner_border_top + 1; + unsigned int out_x = (input.dimension(idx_w) - 1) * sx + 1; + unsigned int out_y = (input.dimension(idx_h) - 1) * sy + 1; // Find the padding needed for the convolution with stride 1 in order to match output shape padx = out_dims.first - (out_x - weights.dimension(idx_w) + 1); |