diff options
author | Annie Tallund <annie.tallund@arm.com> | 2023-02-06 14:56:31 +0100 |
---|---|---|
committer | Benjamin Klimczak <benjamin.klimczak@arm.com> | 2023-02-13 16:20:41 +0000 |
commit | 49dfd03617ed28a4fcbd847dd958c27442c84556 (patch) | |
tree | 1fe14ba3980dd6be15f866e97b67582831344eb9 /tests/test_target_cortex_a_operators.py | |
parent | e3bef50932abdc2e32fa5636fb7a496b149e72d9 (diff) | |
download | mlia-49dfd03617ed28a4fcbd847dd958c27442c84556.tar.gz |
MLIA-709 Update compatibility data for Cortex-A0.6.0-rc.1
- Add operator compatibility data for Cortex-A via for ArmNN TensorFlow
Lite delegate 22.11
- Extend the Cortex-A target profile to include the version of the ArmNN
TensorFlow Lite delegate to be used.
- Some re-factoring work to support multiple versions and the new target
profile parameter.
Change-Id: Iae91bb0757ea3909be975af68b34d0ca2be47c43
Diffstat (limited to 'tests/test_target_cortex_a_operators.py')
-rw-r--r-- | tests/test_target_cortex_a_operators.py | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/tests/test_target_cortex_a_operators.py b/tests/test_target_cortex_a_operators.py index 262ebc8..8bc48e6 100644 --- a/tests/test_target_cortex_a_operators.py +++ b/tests/test_target_cortex_a_operators.py @@ -1,7 +1,8 @@ -# SPDX-FileCopyrightText: Copyright 2022, Arm Limited and/or its affiliates. +# SPDX-FileCopyrightText: Copyright 2022-2023, Arm Limited and/or its affiliates. # SPDX-License-Identifier: Apache-2.0 """Tests for Cortex-A operator compatibility.""" from pathlib import Path +from typing import cast import pytest import tensorflow as tf @@ -9,18 +10,19 @@ import tensorflow as tf from mlia.backend.armnn_tflite_delegate import compat from mlia.nn.tensorflow.tflite_graph import TFL_OP from mlia.nn.tensorflow.utils import convert_to_tflite +from mlia.target.cortex_a.config import CortexAConfiguration from mlia.target.cortex_a.operators import CortexACompatibilityInfo from mlia.target.cortex_a.operators import get_cortex_a_compatibility_info -from mlia.target.cortex_a.operators import Operator def test_compat_data() -> None: """Make sure all data contains the necessary items.""" builtin_tfl_ops = {op.name for op in TFL_OP} - for data in [compat.ARMNN_TFLITE_DELEGATE]: - assert "metadata" in data - assert "backend" in data["metadata"] - assert "version" in data["metadata"] + assert "backend" in compat.ARMNN_TFLITE_DELEGATE + assert "ops" in compat.ARMNN_TFLITE_DELEGATE + + ops = cast(dict, compat.ARMNN_TFLITE_DELEGATE["ops"]) + for data in ops.values(): assert "builtin_ops" in data for comp in data["builtin_ops"]: assert comp in builtin_tfl_ops @@ -32,14 +34,18 @@ def check_get_cortex_a_compatibility_info( expected_success: bool, ) -> None: """Check the function 'get_cortex_a_compatibility_info'.""" - compat_info = get_cortex_a_compatibility_info(model_path) + compat_info = get_cortex_a_compatibility_info( + model_path, CortexAConfiguration.load_profile("cortex-a") + ) assert isinstance(compat_info, CortexACompatibilityInfo) - assert expected_success == compat_info.cortex_a_compatible + assert expected_success == compat_info.is_cortex_a_compatible assert compat_info.operators for oper in compat_info.operators: assert oper.name assert oper.location - assert oper.support_type in Operator.SupportType + assert ( + compat_info.get_support_type(oper) in CortexACompatibilityInfo.SupportType + ) def test_get_cortex_a_compatibility_info_compatible( |