diff options
author | Fredrik Svedberg <fredrik.svedberg@arm.com> | 2023-04-11 22:35:04 +0200 |
---|---|---|
committer | Fredrik Svedberg <fredrik.svedberg@arm.com> | 2023-04-17 14:16:44 +0200 |
commit | 0ac0804e76e098695ee2b8a9e24e2f0a1efc324f (patch) | |
tree | 9ccb766221987a415244079ed6c596a47d693b20 /SUPPORTED_OPS.md | |
parent | c1ad80b3a581dd39b39a112d6c2026f6560207a4 (diff) | |
download | ethos-u-vela-0ac0804e76e098695ee2b8a9e24e2f0a1efc324f.tar.gz |
MLBEDSW-7196 Add LSTM support
Added int8 and int16 UNIDIRECTIONAL_SEQUENCE_LSTM support.
The implementation does not include support for:
* CIFG
* Peephole
* Projection
* Normalisation
This change also:
* Removed unused Op.BlockLSTM operation type.
* Removed the only one consumer limitation on putting the SplitSliceRead
on the tensor consumer(s), if all consumers fullfills the requirements
* Added Op.VariableTensorWrite as a Operation.memory_function to make
sure writes to variable tensors:
* Always use linear mode
* Are not moved to fast scratch
* Are not fused with other elementwise operation tensor ranges
Change-Id: Ief831738924ac3d1f2ba6d41f10bd6dc969911f3
Signed-off-by: Fredrik Svedberg <fredrik.svedberg@arm.com>
Diffstat (limited to 'SUPPORTED_OPS.md')
-rw-r--r-- | SUPPORTED_OPS.md | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/SUPPORTED_OPS.md b/SUPPORTED_OPS.md index 08c63e7c..f641d3f2 100644 --- a/SUPPORTED_OPS.md +++ b/SUPPORTED_OPS.md @@ -55,6 +55,7 @@ Please check the supported operator list for your chosen runtime for further inf | SUB | [Generic](#tflite-generic-constraints), [Specific](#tflite-sub-constraints) | | TANH | [Generic](#tflite-generic-constraints) | | TRANSPOSE_CONV | [Generic](#tflite-generic-constraints), [Specific](#tflite-transpose_conv-constraints) | +| UNIDIRECTIONAL_SEQUENCE_LSTM | [Generic](#tflite-generic-constraints), [Specific](#tflite-unidirectional_sequence_lstm-constraints) | | UNPACK | [Generic](#tflite-generic-constraints) | ### TFLite Generic Constraints @@ -356,3 +357,19 @@ This is a list of constraints that the TRANSPOSE_CONV operator must satisfy in o - SAME padding: OFM dimensions must equal IFM dimensions multiplied by stride - VALID padding: OFM dimensions must equal IFM dimensions multiplied by stride, minus difference between kernel size and stride + +### TFLite UNIDIRECTIONAL_SEQUENCE_LSTM Constraints + +This is a list of constraints that the UNIDIRECTIONAL_SEQUENCE_LSTM operator must satisfy in order to be scheduled on the NPU. + +- IFM must be int8 or int16 +- IFM and OFM data types must match +- IFM and OFM must have 3D shape +- Must have 24 input tensors +- Must have 5 intermediate tensors +- State tensors must be variable +- Must not use CIFG +- Must not use Peephole +- Must not use Projection +- Must not use Normalisation +- All input and recurrent weights must be available |