diff options
author | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2023-05-22 10:57:47 +0100 |
---|---|---|
committer | TeresaARM <teresa.charlinreyes@arm.com> | 2023-05-23 21:07:47 +0000 |
commit | 270641b6feb12cd68c812060b9828ac7d87d4826 (patch) | |
tree | c04481ca07a0053a55e694c7a13aa7fea54dd158 | |
parent | d04873f16c261e166b0d90cecd77ae8e736e2e67 (diff) | |
download | armnn-270641b6feb12cd68c812060b9828ac7d87d4826.tar.gz |
MLCE-1022 Fix failure on UnidirectionalSequenceLstm Operator
* Fix failure to parse UnidirectionalSequenceLstm Operator on CpuAcc
* Fix failure to parse UnidirectionalSequenceLstm Operator on GpuAcc
* Fix IsLayerSupported tests when there are multiple otutputs
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ia690f34d3c7fae87bd36c97056a3ff71baa865f6
3 files changed, 5 insertions, 5 deletions
diff --git a/src/backends/backendsCommon/test/IsLayerSupportedTestImpl.hpp b/src/backends/backendsCommon/test/IsLayerSupportedTestImpl.hpp index 5475762a53..182fab97be 100644 --- a/src/backends/backendsCommon/test/IsLayerSupportedTestImpl.hpp +++ b/src/backends/backendsCommon/test/IsLayerSupportedTestImpl.hpp @@ -819,16 +819,16 @@ bool IsLayerSupportedTest(FactoryType *factory, Tag<Type>) armnn::TensorInfo output = MakeDummyTensorInfo<DataType>(); previousLayer.m_Layer->GetOutputSlot(0).SetTensorInfo(output); // Connect all outputs of the previous layer to inputs of tested layer. - for (unsigned int i = 0; i < numIn; i++) + for (unsigned int i = 0; i < numIn; ++i) { armnn::IOutputSlot& previousLayerOutputSlot = previousLayer.m_Layer->GetOutputSlot(0); armnn::IInputSlot& layerInputSlot = layer.m_Layer->GetInputSlot(i); previousLayerOutputSlot.Connect(layerInputSlot); } // Set outputs of tested layer to a dummy tensor. - for (unsigned int i = 0; i < numOut; i++) + for (unsigned int i = 0; i < numOut; ++i) { - layer.m_Layer->GetOutputSlot(0).SetTensorInfo(output); + layer.m_Layer->GetOutputSlot(i).SetTensorInfo(output); } std::string layerName = LayerPolicy::NameStr; diff --git a/src/backends/cl/workloads/ClUnidirectionalSequenceLstmFloatWorkload.cpp b/src/backends/cl/workloads/ClUnidirectionalSequenceLstmFloatWorkload.cpp index ac24120804..289442e1cc 100644 --- a/src/backends/cl/workloads/ClUnidirectionalSequenceLstmFloatWorkload.cpp +++ b/src/backends/cl/workloads/ClUnidirectionalSequenceLstmFloatWorkload.cpp @@ -517,7 +517,7 @@ ClUnidirectionalSequenceLstmFloatWorkloadValidate(const TensorInfo& input, IgnoreUnused(hiddenStateOutput, cellStateOutput); TensorShape inputLayerShape = input.GetShape(); - TensorShape outputLayerShape = outputStateIn.GetShape(); + TensorShape outputLayerShape = output.GetShape(); unsigned int maxTime = descriptor.m_TimeMajor?inputLayerShape[0]:inputLayerShape[1]; unsigned int batchSize = descriptor.m_TimeMajor?inputLayerShape[1]:inputLayerShape[0]; diff --git a/src/backends/neon/workloads/NeonUnidirectionalSequenceLstmFloatWorkload.cpp b/src/backends/neon/workloads/NeonUnidirectionalSequenceLstmFloatWorkload.cpp index 8dba719d91..7bdb2d5a5a 100644 --- a/src/backends/neon/workloads/NeonUnidirectionalSequenceLstmFloatWorkload.cpp +++ b/src/backends/neon/workloads/NeonUnidirectionalSequenceLstmFloatWorkload.cpp @@ -517,7 +517,7 @@ NeonUnidirectionalSequenceLstmFloatWorkloadValidate(const TensorInfo& input, const LstmInputParamsInfo& paramsInfo) { TensorShape inputLayerShape = input.GetShape(); - TensorShape outputLayerShape = outputStateIn.GetShape(); + TensorShape outputLayerShape = output.GetShape(); unsigned int maxTime = descriptor.m_TimeMajor ? inputLayerShape[0] : inputLayerShape[1]; unsigned int batchSize = descriptor.m_TimeMajor ? inputLayerShape[1] : inputLayerShape[0]; |