diff options
author | Manuel Bottini <manuel.bottini@arm.com> | 2020-04-30 13:28:23 +0100 |
---|---|---|
committer | Manuel Bottini <manuel.bottini@arm.com> | 2020-05-12 09:34:17 +0000 |
commit | 6e10aa395e81b83edb3437191acd7abe1639c7dc (patch) | |
tree | fce78e75102402df6dbbd37e715f9ef855846008 /arm_compute | |
parent | 0e240151637641e9e0c425d52dd75b7bd11d1159 (diff) | |
download | ComputeLibrary-6e10aa395e81b83edb3437191acd7abe1639c7dc.tar.gz |
COMPMID-3316: NEDeconvolutionLayer failing for a big input
- Using NEDirectConvolution for big shapes since the memory
required explodes for 9x9 kernel
- Adding test cases
- Fix enables only the NEON Deconvolution for NHWC
Change-Id: I8a541346428e5686818f8ecb7f69e2a9106cbceb
Signed-off-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3135
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Diffstat (limited to 'arm_compute')
-rw-r--r-- | arm_compute/core/utils/misc/ShapeCalculator.h | 2 | ||||
-rw-r--r-- | arm_compute/runtime/NEON/functions/NEDeconvolutionLayer.h | 7 |
2 files changed, 1 insertions, 8 deletions
diff --git a/arm_compute/core/utils/misc/ShapeCalculator.h b/arm_compute/core/utils/misc/ShapeCalculator.h index 7d2b7df43b..dfccec8b37 100644 --- a/arm_compute/core/utils/misc/ShapeCalculator.h +++ b/arm_compute/core/utils/misc/ShapeCalculator.h @@ -485,7 +485,7 @@ inline TensorShape compute_depthwise_convolution_shape(const ITensorInfo &input, * @return the calculated shape */ 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) + std::pair<unsigned int, unsigned int> &out_dims, uint32_t &padx, uint32_t &pady) { const DataLayout data_layout = input.data_layout(); const size_t idx_w = get_data_layout_dimension_index(data_layout, DataLayoutDimension::WIDTH); diff --git a/arm_compute/runtime/NEON/functions/NEDeconvolutionLayer.h b/arm_compute/runtime/NEON/functions/NEDeconvolutionLayer.h index c4c1664f20..e2ed0e0abc 100644 --- a/arm_compute/runtime/NEON/functions/NEDeconvolutionLayer.h +++ b/arm_compute/runtime/NEON/functions/NEDeconvolutionLayer.h @@ -120,16 +120,9 @@ private: NEConvolutionLayer _conv_f; CPPUpsample _upsample_f; NEReverse _flip_weights; - NEPermute _permute_input; - NEPermute _permute_weights; - NEPermute _permute_output; Tensor _scaled_output; Tensor _weights_flipped; - Tensor _permuted_input; - Tensor _permuted_weights; - Tensor _permuted_output; Tensor _flip_axis; - bool _is_nchw; const ITensor *_original_weights; ITensor *_input; PadStrideInfo _info; |