diff options
author | Raul Farkas <raul.farkas@arm.com> | 2023-05-09 09:09:17 +0100 |
---|---|---|
committer | Fredrik Svedberg <fredrik.svedberg@arm.com> | 2023-06-16 12:26:19 +0000 |
commit | 3e7157ba59f12aa0d277a9b3a7cb3f8a19267338 (patch) | |
tree | a06a40060fc1d9a44b3688fea916b61d26c56a65 /ethosu/vela/high_level_command_to_npu_op.py | |
parent | 3b64f068db4ea8e954a1b472de169dd423b8c049 (diff) | |
download | ethos-u-vela-3e7157ba59f12aa0d277a9b3a7cb3f8a19267338.tar.gz |
MLBEDSW-7315: Add support for AvgPool with stride_width > 3
* Convert AvgPool with stride_width > 3 and Valid padding to Conv2D to
optimize it to run on NPU.
Change-Id: I06ab412357f0b09b1498f9019a9d1963a324ad34
Signed-off-by: Raul Farkas <raul.farkas@arm.com>
Diffstat (limited to 'ethosu/vela/high_level_command_to_npu_op.py')
-rw-r--r-- | ethosu/vela/high_level_command_to_npu_op.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ethosu/vela/high_level_command_to_npu_op.py b/ethosu/vela/high_level_command_to_npu_op.py index 9526bd50..79ac3929 100644 --- a/ethosu/vela/high_level_command_to_npu_op.py +++ b/ethosu/vela/high_level_command_to_npu_op.py @@ -308,6 +308,14 @@ def use_zero_point_0(ps, tens: Tensor, is_ifm_tensor: bool) -> bool: if tens.dtype == DataType.int32 and is_ifm_tensor: return True if ps.primary_op.rounding_mode == RoundingMode.AwayZero: + if ( + ps.primary_op.original_type == Op.AvgPool + and ps.primary_op.type == Op.Conv2DBias + and ps.primary_op.attrs.get("padding", None) == Padding.VALID + ): + # Force zero point to 0 for AveragePool operators converted to a Conv2DBias with rounding away from + # zero. + return True if ps.primary_op.original_type == Op.ResizeBilinear and ps.primary_op.type == Op.DepthwiseConv2DBias: # Force zero point to 0 for ResizeBilinear operators converted to a DepthwiseConv with rounding away from # zero. This is because the reference kernel ignores the zero points. |