diff options
author | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2023-08-11 16:09:26 +0100 |
---|---|---|
committer | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2023-08-21 13:34:54 +0100 |
commit | 5f94124ac11afbbf2d2a4cda539b316964802c76 (patch) | |
tree | 38d6f31517fe322cb0065a8c3e947801791a6405 /src/backends/reference | |
parent | c4f42340bd3d6664098c69d2fb044089aa39aea0 (diff) | |
download | armnn-5f94124ac11afbbf2d2a4cda539b316964802c76.tar.gz |
IVGCVSW-7964 Fix UnidirectionalSequenceLstm
* Fix incorrect batch size and time size
* Fix incorrect time major when max time =1
* Fix incorrect permutation
* Fix incorrect scratch buffer
* Unit tests
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I510fae55528be412a58d020e82bd283852e7800b
Diffstat (limited to 'src/backends/reference')
-rw-r--r-- | src/backends/reference/test/RefLayerTests.cpp | 2 | ||||
-rw-r--r-- | src/backends/reference/workloads/RefUnidirectionalSequenceLstmWorkload.cpp | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/backends/reference/test/RefLayerTests.cpp b/src/backends/reference/test/RefLayerTests.cpp index 1f42397458..a079bb712a 100644 --- a/src/backends/reference/test/RefLayerTests.cpp +++ b/src/backends/reference/test/RefLayerTests.cpp @@ -2800,6 +2800,8 @@ ARMNN_AUTO_TEST_CASE_WITH_THF(UnidirectionalSequenceLstmLayerFloat32TimeMajorSin UnidirectionalSequenceLstmLayerFloat32TimeMajorSingleBatchTest) ARMNN_AUTO_TEST_CASE_WITH_THF(UnidirectionalSequenceLstmLayerFloat32BatchMajorSingleBatch, UnidirectionalSequenceLstmLayerFloat32BatchMajorSingleBatchTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnidirectionalSequenceLstmLayerFloat32TimeMajorSingleTime, + UnidirectionalSequenceLstmLayerFloat32TimeMajorSingleTimeTest) ARMNN_AUTO_TEST_CASE_WITH_THF(UnidirectionalSequenceLstmLayerFloat32, UnidirectionalSequenceLstmLayerFloat32Test) ARMNN_AUTO_TEST_CASE_WITH_THF(UnidirectionalSequenceLstmLayerFloat32TimeMajor, diff --git a/src/backends/reference/workloads/RefUnidirectionalSequenceLstmWorkload.cpp b/src/backends/reference/workloads/RefUnidirectionalSequenceLstmWorkload.cpp index c7a4b76964..4ca3e03c89 100644 --- a/src/backends/reference/workloads/RefUnidirectionalSequenceLstmWorkload.cpp +++ b/src/backends/reference/workloads/RefUnidirectionalSequenceLstmWorkload.cpp @@ -81,6 +81,7 @@ void RefUnidirectionalSequenceLstmWorkload::Execute(std::vector<ITensorHandle*> outputShape = armnnUtils::Permuted(outputInfo.GetShape(), mappings); outputInfo.SetShape(outputShape); } + // As it is permuted to time major, maxTime is inputShape[0]. unsigned int maxTime = inputShape[0]; unsigned int batchSize = inputShape[1]; unsigned int outputSize = outputShape[2]; |