diff options
author | Jan Eilers <jan.eilers@arm.com> | 2020-03-30 15:07:45 +0100 |
---|---|---|
committer | Jan Eilers <jan.eilers@arm.com> | 2020-03-31 08:46:25 +0100 |
commit | e2062cdf1eb31b87860f9889f0e799e89f0dfa30 (patch) | |
tree | 98b1cdf21856042aa24689c6385d78a1647eb2bf /src/armnn/test/OptimizerTests.cpp | |
parent | cedd34fa77a42fce6b832f6424eed45543fe71d4 (diff) | |
download | armnn-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.cpp | 9 |
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> |