aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/test/OptimizerTests.cpp
diff options
context:
space:
mode:
authorJan Eilers <jan.eilers@arm.com>2020-03-30 15:07:45 +0100
committerJan Eilers <jan.eilers@arm.com>2020-03-31 08:46:25 +0100
commite2062cdf1eb31b87860f9889f0e799e89f0dfa30 (patch)
tree98b1cdf21856042aa24689c6385d78a1647eb2bf /src/armnn/test/OptimizerTests.cpp
parentcedd34fa77a42fce6b832f6424eed45543fe71d4 (diff)
downloadarmnn-e2062cdf1eb31b87860f9889f0e799e89f0dfa30.tar.gz
IVGCVSW-4590 Fix Lstm layers CellToInputWeights
* CellToInputWeights were not handeled correctly * Changed CellToInputWeights from Cifg to peephole parameter * Modified exiting unit tests * Added unit test to cover new configuration * Added more descriptive error messages Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ied5dc1253d3df1fd1a79b887a58603d0a9c8f396
Diffstat (limited to 'src/armnn/test/OptimizerTests.cpp')
-rw-r--r--src/armnn/test/OptimizerTests.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/armnn/test/OptimizerTests.cpp b/src/armnn/test/OptimizerTests.cpp
index 56032adc33..a7b23dbd86 100644
--- a/src/armnn/test/OptimizerTests.cpp
+++ b/src/armnn/test/OptimizerTests.cpp
@@ -78,13 +78,10 @@ void CreateLSTMLayerHelper(Graph &graph, bool CifgEnabled)
(TensorInfo({ numUnits, inputSize }, DataType::Float32));
layer->m_CifgParameters.m_RecurrentToInputWeights = std::make_unique<ScopedCpuTensorHandle>
(TensorInfo({ numUnits, outputSize }, DataType::Float32));
- layer->m_CifgParameters.m_CellToInputWeights = std::make_unique<ScopedCpuTensorHandle>
- (TensorInfo({ numUnits }, DataType::Float32));
layer->m_CifgParameters.m_InputGateBias = std::make_unique<ScopedCpuTensorHandle>
(TensorInfo({ numUnits }, DataType::Float32));
layer->m_CifgParameters.m_InputToInputWeights->Allocate();
layer->m_CifgParameters.m_RecurrentToInputWeights->Allocate();
- layer->m_CifgParameters.m_CellToInputWeights->Allocate();
layer->m_CifgParameters.m_InputGateBias->Allocate();
}
@@ -100,6 +97,12 @@ void CreateLSTMLayerHelper(Graph &graph, bool CifgEnabled)
if (layerDesc.m_PeepholeEnabled)
{
+ if (!layerDesc.m_CifgEnabled)
+ {
+ layer->m_PeepholeParameters.m_CellToInputWeights = std::make_unique<ScopedCpuTensorHandle>
+ (TensorInfo({ numUnits }, DataType::Float32));
+ layer->m_PeepholeParameters.m_CellToInputWeights->Allocate();
+ }
layer->m_PeepholeParameters.m_CellToForgetWeights = std::make_unique<ScopedCpuTensorHandle>
(TensorInfo({ numUnits }, DataType::Float32));
layer->m_PeepholeParameters.m_CellToOutputWeights = std::make_unique<ScopedCpuTensorHandle>