diff options
author | James Conroy <james.conroy@arm.com> | 2019-07-17 11:27:46 +0100 |
---|---|---|
committer | Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> | 2019-07-24 10:40:13 +0100 |
commit | ee18dc8d1725f472850ab0c398fd7cbc4b850891 (patch) | |
tree | b57738b18781d512f5438ca5154652571393e4e8 /src/backends/backendsCommon/WorkloadData.hpp | |
parent | 7b1845206d723a91aec811edaf7cb0cf832dfd25 (diff) | |
download | armnn-ee18dc8d1725f472850ab0c398fd7cbc4b850891.tar.gz |
IVGCVSW-3469 Add front end for Quantized LSTM layer
* Added new layer QuantizedLstm (Android Q)
* Made necessary changes to APIs
* Added unit tests
Change-Id: I3b9f16b0e7e49f51932cf204c87cb7118798123a
Signed-off-by: James Conroy <james.conroy@arm.com>
Diffstat (limited to 'src/backends/backendsCommon/WorkloadData.hpp')
-rw-r--r-- | src/backends/backendsCommon/WorkloadData.hpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/WorkloadData.hpp b/src/backends/backendsCommon/WorkloadData.hpp index f3d50699e6..d790dafd58 100644 --- a/src/backends/backendsCommon/WorkloadData.hpp +++ b/src/backends/backendsCommon/WorkloadData.hpp @@ -477,4 +477,41 @@ struct TransposeConvolution2dQueueDescriptor : QueueDescriptorWithParameters<Tra void Validate(const WorkloadInfo& workloadInfo) const; }; +struct QuantizedLstmQueueDescriptor : QueueDescriptor +{ + QuantizedLstmQueueDescriptor() + : m_InputToInputWeights(nullptr) + , m_InputToForgetWeights(nullptr) + , m_InputToCellWeights(nullptr) + , m_InputToOutputWeights(nullptr) + + , m_RecurrentToInputWeights(nullptr) + , m_RecurrentToForgetWeights(nullptr) + , m_RecurrentToCellWeights(nullptr) + , m_RecurrentToOutputWeights(nullptr) + + , m_InputGateBias(nullptr) + , m_ForgetGateBias(nullptr) + , m_CellBias(nullptr) + , m_OutputGateBias(nullptr) + {} + + const ConstCpuTensorHandle* m_InputToInputWeights; + const ConstCpuTensorHandle* m_InputToForgetWeights; + const ConstCpuTensorHandle* m_InputToCellWeights; + const ConstCpuTensorHandle* m_InputToOutputWeights; + + const ConstCpuTensorHandle* m_RecurrentToInputWeights; + const ConstCpuTensorHandle* m_RecurrentToForgetWeights; + const ConstCpuTensorHandle* m_RecurrentToCellWeights; + const ConstCpuTensorHandle* m_RecurrentToOutputWeights; + + const ConstCpuTensorHandle* m_InputGateBias; + const ConstCpuTensorHandle* m_ForgetGateBias; + const ConstCpuTensorHandle* m_CellBias; + const ConstCpuTensorHandle* m_OutputGateBias; + + void Validate(const WorkloadInfo& workloadInfo) const; +}; + } //namespace armnn |