diff options
author | Mike Kelly <mike.kelly@arm.com> | 2022-04-21 11:57:09 +0100 |
---|---|---|
committer | mike.kelly <mike.kelly@arm.com> | 2022-05-05 08:29:20 +0000 |
commit | 1299496996bc332f02218f926640a9255ed60310 (patch) | |
tree | 2d242e142bd8fe7387140bcf8cdf39cd13ffc9eb /src/backends/backendsCommon/WorkloadFactory.cpp | |
parent | 8272a7bda2974c39b6c06e3eb3a000f2bdb749f7 (diff) | |
download | armnn-1299496996bc332f02218f926640a9255ed60310.tar.gz |
IVGCVSW-6806 Add Unidirectional Sequence Lstm support to Neon
* Corrected TensorInfo order for IsUnidirectionalSequenceLstmSupported
* outputStateOut TensorInfo is not optional.
* cellStateOut TensorInfo is not optional.
* TensorInfo Order matches other QLSTM/LSTM layers.
* Added missing parameters to UnidirectionalSequenceLstmOperator for
delegate.
* Added quantized UnidirectionalSequenceLstm support to Neon
!android-nn-driver:7457
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I26dde1bb96793dd25eb9081ca5ae5f63752288c4
Diffstat (limited to 'src/backends/backendsCommon/WorkloadFactory.cpp')
-rw-r--r-- | src/backends/backendsCommon/WorkloadFactory.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/backends/backendsCommon/WorkloadFactory.cpp b/src/backends/backendsCommon/WorkloadFactory.cpp index f955aec30f..5847e8cc21 100644 --- a/src/backends/backendsCommon/WorkloadFactory.cpp +++ b/src/backends/backendsCommon/WorkloadFactory.cpp @@ -1367,7 +1367,9 @@ bool IWorkloadFactory::IsLayerConfigurationSupported(const BackendId& backendId, const TensorInfo& cellStateIn = OverrideDataType(layer.GetInputSlot(2).GetConnection()->GetTensorInfo(), dataType); // Outputs - const TensorInfo& output = OverrideDataType(layer.GetOutputSlot(0).GetTensorInfo(), dataType); + const TensorInfo& outputStateOut = OverrideDataType(layer.GetOutputSlot(0).GetTensorInfo(), dataType); + const TensorInfo& cellStateOut = OverrideDataType(layer.GetOutputSlot(1).GetTensorInfo(), dataType); + const TensorInfo& output = OverrideDataType(layer.GetOutputSlot(2).GetTensorInfo(), dataType); // Basic parameters const TensorInfo& inputToForgetWeights @@ -1481,15 +1483,12 @@ bool IWorkloadFactory::IsLayerConfigurationSupported(const BackendId& backendId, paramsInfo.m_OutputLayerNormWeights = &optOutputLayerNormWeights; } - Optional<TensorInfo> hiddenStateOut; - Optional<TensorInfo> cellStateOut; - result = layerSupportObject.IsUnidirectionalSequenceLstmSupported(input, outputStateIn, cellStateIn, - output, - hiddenStateOut, + outputStateOut, cellStateOut, + output, descriptor, paramsInfo, reason); |