diff options
author | Johan Alfven <johan.alfven@arm.com> | 2023-11-15 10:11:31 +0100 |
---|---|---|
committer | Johan Alfven <johan.alfven@arm.com> | 2023-11-15 13:21:39 +0100 |
commit | f49b6e250165e5f0f41befb0d9984ddafe39c41e (patch) | |
tree | fc41dbedd707a17b62897819d5322da32970719d | |
parent | f418e832ffd5a10f549aa07a0c9c59406a374ffe (diff) | |
download | ethos-u-vela-f49b6e250165e5f0f41befb0d9984ddafe39c41e.tar.gz |
MLBEDSW-8326: MLCE: Update constraint message for AVERAGE_POOL_2D
- Added missing constraint message for stride height by
adding the constraint_stride_width_no_upper_limit to AVERAGE_POOL_2D
Change-Id: Ib716fb19e44cb8735b52270b557998d4cbf5cb1c
Signed-off-by: Johan Alfven <johan.alfven@arm.com>
-rw-r--r-- | SUPPORTED_OPS.md | 5 | ||||
-rw-r--r-- | ethosu/vela/tflite_supported_operators.py | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/SUPPORTED_OPS.md b/SUPPORTED_OPS.md index fd5e478..665cb30 100644 --- a/SUPPORTED_OPS.md +++ b/SUPPORTED_OPS.md @@ -136,6 +136,11 @@ This is a list of constraints that the AVERAGE_POOL_2D operator must satisfy in - Stride values for both width and height must be integer types - IFM and OFM data types must match - Kernel filter values for both width and height must be integer types +- Strides must fulfil the following criteria: + - Stride h must be between 1 and 3 when ofm height is greater than 1 + - Stride w must be between 1 and 3 when ofm height is greater than 1 or + stride w must be divisible by 2 or 3 and ifm width must be divisible + by stride_w/2 or stride_w/3 - Stride width must be greater than or equal to 1. For stride width greater than 3, valid padding needs to be used. - Kernel filter values for both width and height must be in the range [1, 8] diff --git a/ethosu/vela/tflite_supported_operators.py b/ethosu/vela/tflite_supported_operators.py index 4500391..e5686f4 100644 --- a/ethosu/vela/tflite_supported_operators.py +++ b/ethosu/vela/tflite_supported_operators.py @@ -254,6 +254,7 @@ class TFLiteSupportedOperators: self.specific_constraints[op_type].append(TFLiteSupportedOperators.constraint_stride_range) # AVG pooling specific checks: for op_type in TFLiteSupportedOperators.avg_pooling_ops: + self.specific_constraints[op_type].append(TFLiteSupportedOperators.constraint_stride_width_no_upper_limit) self.specific_constraints[op_type].append(TFLiteSupportedOperators.constraint_stride_range_no_padding) self.specific_constraints[op_type].append(TFLiteSupportedOperators.constraint_filter_range) self.specific_constraints[op_type].append(TFLiteSupportedOperators.constraint_filter_height_range_valid_pad) |