diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2018-11-14 15:54:26 +0000 |
---|---|---|
committer | Anthony Barbier <Anthony.barbier@arm.com> | 2018-11-15 09:43:21 +0000 |
commit | 0cc37c31a36e7b146cf9640ad69925d7c06b71b4 (patch) | |
tree | 64bea25de0d16a4e640c88b99c491ace7c5a6edf | |
parent | 0e37b5c0e2caaaf18117ec3b1cecff6a85c184f3 (diff) | |
download | ComputeLibrary-0cc37c31a36e7b146cf9640ad69925d7c06b71b4.tar.gz |
COMPMID-1451: Fix the shape of scratch_buffer in case of CIFG
In case of CIFG optimisation scratch buffer should have a size of
[batch_size, num_units * 3] else [batch_size, num_units * 4].
Change-Id: I43e46f7b52e791472f1196f36e9142240ba76c5c
-rw-r--r-- | src/runtime/CL/functions/CLLSTMLayer.cpp | 4 | ||||
-rw-r--r-- | src/runtime/NEON/functions/NELSTMLayer.cpp | 4 | ||||
-rw-r--r-- | tests/validation/fixtures/LSTMLayerFixture.h | 2 |
3 files changed, 5 insertions, 5 deletions
diff --git a/src/runtime/CL/functions/CLLSTMLayer.cpp b/src/runtime/CL/functions/CLLSTMLayer.cpp index 245016efcb..a89c4e3dbf 100644 --- a/src/runtime/CL/functions/CLLSTMLayer.cpp +++ b/src/runtime/CL/functions/CLLSTMLayer.cpp @@ -282,7 +282,7 @@ void CLLSTMLayer::configure(const ICLTensor *input, // Vector for holding the tensors to store in scratch buffer std::vector<ICLTensor *> scratch_inputs; - if(lstm_params.has_cifg_opt()) + if(!lstm_params.has_cifg_opt()) { scratch_inputs.emplace_back(&_input_gate_out1); } @@ -444,7 +444,7 @@ Status CLLSTMLayer::validate(const ITensorInfo *input, // Validate scratch concatenation std::vector<ITensorInfo *> inputs_vector_info_raw; - if(lstm_params.has_cifg_opt()) + if(!lstm_params.has_cifg_opt()) { inputs_vector_info_raw.push_back(&input_gate); } diff --git a/src/runtime/NEON/functions/NELSTMLayer.cpp b/src/runtime/NEON/functions/NELSTMLayer.cpp index 934761a8ef..7c7580a6bb 100644 --- a/src/runtime/NEON/functions/NELSTMLayer.cpp +++ b/src/runtime/NEON/functions/NELSTMLayer.cpp @@ -286,7 +286,7 @@ void NELSTMLayer::configure(const ITensor *input, // Vector for holding the tensors to store in scratch buffer std::vector<ITensor *> scratch_inputs; - if(lstm_params.has_cifg_opt()) + if(!lstm_params.has_cifg_opt()) { scratch_inputs.emplace_back(&_input_gate_out1); } @@ -444,7 +444,7 @@ Status NELSTMLayer::validate(const ITensorInfo *input, // Validate scratch concatenation std::vector<ITensorInfo *> inputs_vector_info_raw; - if(lstm_params.has_cifg_opt()) + if(!lstm_params.has_cifg_opt()) { inputs_vector_info_raw.push_back(&input_gate); } diff --git a/tests/validation/fixtures/LSTMLayerFixture.h b/tests/validation/fixtures/LSTMLayerFixture.h index bc892bfecf..7f11265932 100644 --- a/tests/validation/fixtures/LSTMLayerFixture.h +++ b/tests/validation/fixtures/LSTMLayerFixture.h @@ -100,7 +100,7 @@ protected: TensorType projection_w; TensorType projection_bias; - bool cifg_opt = scratch_shape.x() == cell_bias_shape.x() * 4 ? true : false; + bool cifg_opt = scratch_shape.x() == cell_bias_shape.x() * 4 ? false : true; FunctionParams lstm_params; |