From e2bfa7ec7495591139e19f41397054a44a0348bc Mon Sep 17 00:00:00 2001 From: Patrik Gustavsson Date: Wed, 8 Sep 2021 15:04:11 +0200 Subject: TOSA: Add support for PAD Added support for TOSA PAD operator in line with legacy support Limitations: -Rank <= 4 -N = 1 if Rank = 4 for ifms/ofm -only padding in W and H dimensions -bool_t not supported Signed-off-by: Patrik Gustavsson Change-Id: I511608202b4c9bf6d86285b559c517fb41741fdf --- ethosu/vela/tosa_mapping.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'ethosu/vela/tosa_mapping.py') diff --git a/ethosu/vela/tosa_mapping.py b/ethosu/vela/tosa_mapping.py index 6efc4791..ebbaa0a1 100644 --- a/ethosu/vela/tosa_mapping.py +++ b/ethosu/vela/tosa_mapping.py @@ -174,7 +174,7 @@ while_attrs = AttrSerializer("WhileLoopAttribute", (("cond_branch"), ("body_bran unary_quant_info = QuantSerializer("UnaryQuantInfo", ("input_zp", "output_zp")) conv_quant_info = QuantSerializer("ConvQuantInfo", ("input_zp", "weight_zp")) matmul_quant_info = QuantSerializer("MatMulQuantInfo", ("a_zp", "b_zp")) -pad_quant_info = QuantSerializer("PadQuantInfo", ("input_zp")) +pad_quant_info = QuantSerializer("PadQuantInfo", ("input_zp",)) unsupported_tosa_operators = { TosaOp.UNKNOWN, @@ -218,7 +218,6 @@ unsupported_tosa_operators = { TosaOp.REDUCE_MIN, TosaOp.REDUCE_PRODUCT, TosaOp.REDUCE_SUM, - TosaOp.PAD, TosaOp.REVERSE, TosaOp.TILE, TosaOp.GATHER, @@ -298,12 +297,19 @@ tosa_operator_map = { # TODO TosaOp.REDUCE_PRODUCT # TODO TosaOp.REDUCE_SUM TosaOp.CONCAT: (Op.Concat, axis_attrs, None, TOSA_CONCAT_INDICES), - # TODO TosaOp.PAD + # TODO Is the padding intended to be dynamic input, TOSA spec state it as attribute + # Handled as for TFLite for now + TosaOp.PAD: (Op.Pad, None, pad_quant_info, TOSA_IFM_INDICES), TosaOp.RESHAPE: (Op.Reshape, reshape_attrs, None, TOSA_IFM_INDICES), # TODO TosaOp.REVERSE TosaOp.SLICE: (Op.SplitSliceRead, slice_attrs, None, TOSA_IFM_INDICES), # TODO TosaOp.TILE - TosaOp.TRANSPOSE: (Op.Transpose, None, None, TOSA_IFM_IFM2_INDICES), + TosaOp.TRANSPOSE: ( + Op.Transpose, + None, + None, + TOSA_IFM_IFM2_INDICES, + ), # TODO Is the perms intended to be dynamic input, TOSA spec state it as attribute # TODO TosaOp.GATHER # TODO TosaOp.SCATTER # TODO TosaOp.RESIZE -- cgit v1.2.1