aboutsummaryrefslogtreecommitdiff
path: root/ethosu/vela/test
diff options
context:
space:
mode:
authorAlexander Hansson <Alexander.Hansson@arm.com>2023-05-31 15:03:03 +0000
committerAlexander Hansson <Alexander.Hansson@arm.com>2023-06-19 17:12:06 +0000
commit90c34b5948a92d27a882374e16b335597ea7e494 (patch)
treef910ab7f6cd26e0edba5ffdcf68f4a3a9614bebe /ethosu/vela/test
parent85b77901b72865cc0071f294bd9177288c0bc4e3 (diff)
downloadethos-u-vela-90c34b5948a92d27a882374e16b335597ea7e494.tar.gz
MLBEDSW-7654: Extend support for Mean where HxW > 4096
* Convert Means with large IFMs to several DeptwiseConv2DBias and Add operations. * Update tflite supported operator check with new height and width constraints. * Update unit-tests to verify supported operator changes. * Fix output-diff for 2D IFMs (MLBEDSW-7772) Signed-off-by: Alexander Hansson <Alexander.Hansson@arm.com> Change-Id: Ifae6fb1cdac475ae7dac5116c5f13631ff82108a
Diffstat (limited to 'ethosu/vela/test')
-rw-r--r--ethosu/vela/test/test_tflite_supported_operators.py21
1 files changed, 19 insertions, 2 deletions
diff --git a/ethosu/vela/test/test_tflite_supported_operators.py b/ethosu/vela/test/test_tflite_supported_operators.py
index 6f3553d8..f2ad8586 100644
--- a/ethosu/vela/test/test_tflite_supported_operators.py
+++ b/ethosu/vela/test/test_tflite_supported_operators.py
@@ -613,9 +613,26 @@ def create_mean(input_shape, output_shape, axis, datatype, attrs):
def test_mean_hw_product():
- op = create_mean([1, 64, 64, 16], [1, 16], [1, 2], DataType.uint8, {})
+ # max kernel size checks
+ op = create_mean([1, 4096, 4096, 16], [1, 1, 1, 16], [1, 2], DataType.int8, {})
assert support.is_operator_supported(op)
- op = create_mean([1, 65, 64, 16], [1, 1, 1, 16], [1, 2], DataType.int8, {"keep_dims": True})
+ op = create_mean([1, 4097, 4096, 16], [1, 1, 1, 16], [1, 2], DataType.int8, {})
+ assert not support.is_operator_supported(op)
+
+ op = create_mean([1, 2048, 4096, 16], [1, 1, 1, 16], [1, 2], DataType.uint8, {})
+ assert support.is_operator_supported(op)
+ op = create_mean([1, 2049, 4096, 16], [1, 1, 1, 16], [1, 2], DataType.uint8, {})
+ assert not support.is_operator_supported(op)
+
+ op = create_mean([1, 16, 4096, 16], [1, 1, 1, 16], [1, 2], DataType.int16, {})
+ assert support.is_operator_supported(op)
+ op = create_mean([1, 17, 4096, 16], [1, 1, 1, 16], [1, 2], DataType.int16, {})
+ assert not support.is_operator_supported(op)
+
+ # h > 4096 is OK but w > 4096 is not
+ op = create_mean([1, 4097, 10, 16], [1, 1, 1, 16], [1, 2], DataType.uint8, {"keep_dims": True})
+ assert support.is_operator_supported(op)
+ op = create_mean([1, 10, 4097, 16], [1, 1, 1, 16], [1, 2], DataType.int16, {"keep_dims": True})
assert not support.is_operator_supported(op)