diff options
Diffstat (limited to 'src/armnn')
-rw-r--r-- | src/armnn/Network.cpp | 13 | ||||
-rw-r--r-- | src/armnn/layers/QLstmLayer.cpp | 2 |
2 files changed, 7 insertions, 8 deletions
diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp index c2bf27aa9b..a047297e15 100644 --- a/src/armnn/Network.cpp +++ b/src/armnn/Network.cpp @@ -1874,15 +1874,16 @@ IConnectableLayer* Network::AddQLstmLayer(const QLstmDescriptor& descriptor, throw InvalidArgumentException("AddQLstmLayer: Projection Weights cannot be NULL"); } - if(params.m_ProjectionBias == nullptr) + layer->m_ProjectionParameters.m_ProjectionWeights = + std::make_unique<ScopedCpuTensorHandle>(*(params.m_ProjectionWeights)); + + // Projection bias is optional even if projection is enabled + if(params.m_ProjectionWeights != nullptr) { - throw InvalidArgumentException("AddQLstmLayer: Projection Biases cannot be NULL"); + layer->m_ProjectionParameters.m_ProjectionBias = + std::make_unique<ScopedCpuTensorHandle>(*(params.m_ProjectionBias)); } - layer->m_ProjectionParameters.m_ProjectionWeights = - std::make_unique<ScopedCpuTensorHandle>(*(params.m_ProjectionWeights)); - layer->m_ProjectionParameters.m_ProjectionBias = - std::make_unique<ScopedCpuTensorHandle>(*(params.m_ProjectionBias)); } // QLstm Peephole params diff --git a/src/armnn/layers/QLstmLayer.cpp b/src/armnn/layers/QLstmLayer.cpp index 9b940c1823..7e6154817c 100644 --- a/src/armnn/layers/QLstmLayer.cpp +++ b/src/armnn/layers/QLstmLayer.cpp @@ -232,8 +232,6 @@ void QLstmLayer::ValidateTensorShapesFromInputs() { ARMNN_ASSERT_MSG(m_ProjectionParameters.m_ProjectionWeights != nullptr, "QLstmLayer: m_ProjectionParameters.m_ProjectionWeights should not be null."); - ARMNN_ASSERT_MSG(m_ProjectionParameters.m_ProjectionBias != nullptr, - "QLstmLayer: m_ProjectionParameters.m_ProjectionBias should not be null."); } if (m_Param.m_PeepholeEnabled) |