diff options
author | Johan Alfven <johan.alfven@arm.com> | 2023-10-28 16:04:46 +0200 |
---|---|---|
committer | Johan Alfven <johan.alfven@arm.com> | 2023-11-09 11:59:58 +0100 |
commit | a8fda88bced0d11441467b6798885101d41ac8e9 (patch) | |
tree | 807de7fa4eee48720255fbed4a605218f8612f6a /SUPPORTED_OPS.md | |
parent | 4bf0cdf58416edc030ae7507ace95224785e4aa8 (diff) | |
download | ethos-u-vela-a8fda88bced0d11441467b6798885101d41ac8e9.tar.gz |
MLBEDSW-8290: MLCE: Add TRANSPOSE support3.10.0.rc1
- Added graph optimiser function to convert TRANSPOSE op
into an AvgPool op with swapped stride for height and width
- Added TRANSPOSE supported op check
- Added unit tests for TRANSPOSE supported op check
- Updated SUPPORTED_OPS.md
- Fixed problem in pass packing when optimizing the pass list.
Old problem, but now seen when moving TRANSPOSE from cpu.
Change-Id: I0a0ef420b0fb8241090c2e2434622881105cde15
Signed-off-by: Johan Alfven <johan.alfven@arm.com>
Diffstat (limited to 'SUPPORTED_OPS.md')
-rw-r--r-- | SUPPORTED_OPS.md | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/SUPPORTED_OPS.md b/SUPPORTED_OPS.md index 81704e53..ceb02051 100644 --- a/SUPPORTED_OPS.md +++ b/SUPPORTED_OPS.md @@ -19,7 +19,7 @@ limitations under the License. # Supported Ops This file was automatically generated by Vela using the `--supported-ops-report` parameter. -Vela version: `3.9.1.dev16+gd230ce9.d20231030` +Vela version: `3.9.1.dev21+gb724cdb.d20231107` This file complies with [**Gitiles Markdown syntax**](https://gerrit.googlesource.com/gitiles/+/HEAD/Documentation/markdown.md) @@ -75,6 +75,7 @@ Please check the supported operator list for your chosen runtime for further inf | STRIDED_SLICE | [Generic](#tflite-generic-constraints), [Specific](#tflite-strided_slice-constraints) | | SUB | [Generic](#tflite-generic-constraints), [Specific](#tflite-sub-constraints) | | TANH | [Generic](#tflite-generic-constraints) | +| TRANSPOSE | [Generic](#tflite-generic-constraints), [Specific](#tflite-transpose-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) | @@ -90,12 +91,12 @@ This is a list of constraints most NPU operators must satisfy in order to be sch - Output tensors cannot be scalar - [QUANTIZE] - Scalar Input tensors are only valid for op type: ADD, ARG_MAX, EXPAND_DIMS, MAXIMUM, MEAN, MINIMUM, MUL, QUANTIZE, SPLIT, SPLIT_V, SUB - Input(s) and Output tensors must not be greater than 4D -- Input(s), Output and Weight tensors must have quantization parameters - [ARG_MAX, SHAPE] +- Input(s), Output and Weight tensors must have quantization parameters - [ARG_MAX, SHAPE, TRANSPOSE] - Input(s), Output and Weight tensors with quantization scales must be finite - Input and Output tensors must have quantization scales that fit within float32 precision - Constant tensors should not have NoneType-values - Tensors must be of type: int16, int32, int8, uint8 - [ARG_MAX] -- Tensors which are int32 are only valid when op type is: ADD, ARG_MAX, MUL, SHAPE, SUB +- Tensors which are int32 are only valid when op type is: ADD, ARG_MAX, MUL, SHAPE, SUB, TRANSPOSE - Tensor dimensions must be in the range [1, 65535] - Per-axis quantization is only supported for the following op types: CONV_2D, DEPTHWISE_CONV_2D, TRANSPOSE_CONV - IFM Tensor batch size must be 1 - [FULLY_CONNECTED, RESHAPE, SHAPE, SLICE, SOFTMAX, SPLIT, SPLIT_V, SQUEEZE, STRIDED_SLICE, UNPACK] @@ -405,6 +406,15 @@ This is a list of constraints that the SUB operator must satisfy in order to be - For IFM that are unsigned, OFM must either be the same type or int32 - Broadcasting is only allowed for rank indices with dimension 1, from either IFM1 or IFM2 +### TFLite TRANSPOSE Constraints + +This is a list of constraints that the TRANSPOSE operator must satisfy in order to be scheduled on the NPU. + +- The following shape/permutations are supported for transpose: + When ifm rank is 2: WxC -> CxW + When ifm rank is 3: HxWxC -> WxHxC, 1xWxC -> 1xCxW, Hx1xC -> Cx1xH + When ifm rank is 4: 1xHxWxC -> 1xWxHxC, 1x1xWxC -> 1x1xCxW, 1xHx1xC -> 1xCx1xW + ### TFLite TRANSPOSE_CONV Constraints This is a list of constraints that the TRANSPOSE_CONV operator must satisfy in order to be scheduled on the NPU. |