aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2018-02-15 17:22:36 +0000
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:47:18 +0000
commit02ee4291795f64fb510a71c6c754671438635186 (patch)
treef802116a435ec454f0165943131565b788d01a31 /src
parent82833b80b1a28ff32fe3c3b2f4996fa21a08bbbc (diff)
downloadComputeLibrary-02ee4291795f64fb510a71c6c754671438635186.tar.gz
COMPMID-765: Fix CPPPermute error when permuting the strides.
Change-Id: I4ea57579d997dd6a2e248634e3b7cb58bb3e2838 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/120693 Reviewed-by: Pablo Tello <pablo.tello@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src')
-rw-r--r--src/core/CPP/kernels/CPPPermuteKernel.cpp2
-rw-r--r--src/runtime/NEON/functions/NEWinogradLayer.cpp22
2 files changed, 2 insertions, 22 deletions
diff --git a/src/core/CPP/kernels/CPPPermuteKernel.cpp b/src/core/CPP/kernels/CPPPermuteKernel.cpp
index 6b3e855ad3..5c93f3e93a 100644
--- a/src/core/CPP/kernels/CPPPermuteKernel.cpp
+++ b/src/core/CPP/kernels/CPPPermuteKernel.cpp
@@ -65,7 +65,7 @@ inline void permute_strides(Dimensions<T> &dimensions, const PermutationVector &
const auto old_dim = utility::make_array<Dimensions<T>::num_max_dimensions>(dimensions.begin(), dimensions.end());
for(unsigned int i = 0; i < perm.num_dimensions(); ++i)
{
- T dimension_val = (perm[i] < dimensions.num_dimensions()) ? old_dim[i] : 0;
+ T dimension_val = old_dim[i];
dimensions.set(perm[i], dimension_val);
}
}
diff --git a/src/runtime/NEON/functions/NEWinogradLayer.cpp b/src/runtime/NEON/functions/NEWinogradLayer.cpp
index d2d40dfcb0..215f1bfddf 100644
--- a/src/runtime/NEON/functions/NEWinogradLayer.cpp
+++ b/src/runtime/NEON/functions/NEWinogradLayer.cpp
@@ -109,34 +109,14 @@ void NEWinogradLayer::configure(const ITensor *input, const ITensor *weights, co
_output->info()->dimension(1), _output->info()->dimension(3)),
1, _output->info()->data_type());
_output_nhwc.allocator()->init(info);
-
_output_nhwc.allocator()->allocate();
// Re-order a weight tensor from [Output feature map x Input feature map x Height x Width] to [Height x Width x Input feature map x Output feature map]
- switch(weights->info()->num_dimensions())
- {
- case 3:
- {
- _permute_weights.configure(weights, &_weights_hwio, PermutationVector(2U, 0U, 1U));
- break;
- }
- case 4:
- {
- _permute_weights.configure(weights, &_weights_hwio, PermutationVector(3U, 2U, 0U, 1U));
- break;
- }
- default:
- {
- ARM_COMPUTE_ERROR("Not supported.");
- break;
- }
- }
-
+ _permute_weights.configure(weights, &_weights_hwio, PermutationVector(3U, 2U, 0U, 1U));
_weights_hwio.allocator()->allocate();
// configure the kernel to transform the input tensor from NCHW -> NHWC
_permute_input.configure(input, &_input_nhwc, PermutationVector(2U, 0U, 1U));
-
_input_nhwc.allocator()->allocate();
using T = winograd::WinogradGEMM<2, 2, 3, 3>::Convolution<float, float>;