aboutsummaryrefslogtreecommitdiff
path: root/src/mlia/target/cortex_a/data_analysis.py
diff options
context:
space:
mode:
authorDhruv Chauhan <dhruv.chauhan@arm.com>2023-03-20 10:22:08 +0000
committerDhruv Chauhan <dhruv.chauhan@arm.com>2023-03-24 12:44:23 +0000
commitedf436c48029aa4e2b4ca5d17eee5a8f07ecbd6f (patch)
tree2375038e77873f6cd499b8938bc8b816daea3fc8 /src/mlia/target/cortex_a/data_analysis.py
parent803a91c0723533f62148528a81f9d0411b57438e (diff)
downloadmlia-edf436c48029aa4e2b4ca5d17eee5a8f07ecbd6f.tar.gz
MLIA-711 Extend TensorFlow Lite Compatibility Check
- Unify the TensorFlow Lite compatibility check across Cortex-A, TOSA and Ethos-U targets - Display tables/messages with parsed information - Do not display raw TensorFlow Lite errors, and return with exit code 0 Change-Id: I9333fdb6cbe592f1ed7395d392412168492a1479
Diffstat (limited to 'src/mlia/target/cortex_a/data_analysis.py')
-rw-r--r--src/mlia/target/cortex_a/data_analysis.py36
1 files changed, 2 insertions, 34 deletions
diff --git a/src/mlia/target/cortex_a/data_analysis.py b/src/mlia/target/cortex_a/data_analysis.py
index 089c1a2..3161618 100644
--- a/src/mlia/target/cortex_a/data_analysis.py
+++ b/src/mlia/target/cortex_a/data_analysis.py
@@ -12,6 +12,7 @@ from mlia.core.common import DataItem
from mlia.core.data_analysis import Fact
from mlia.core.data_analysis import FactExtractor
from mlia.nn.tensorflow.tflite_compat import TFLiteCompatibilityInfo
+from mlia.target.common.reporters import analyze_tflite_compatibility_common
from mlia.target.cortex_a.operators import CortexACompatibilityInfo
@@ -64,22 +65,7 @@ class CortexADataAnalyzer(FactExtractor):
@analyze_data.register
def analyze_tflite_compatibility(self, data_item: TFLiteCompatibilityInfo) -> None:
"""Analyze TensorFlow Lite compatibility information."""
- if data_item.compatible:
- return
-
- if data_item.conversion_failed_with_errors:
- self.add_fact(
- ModelIsNotTFLiteCompatible(
- custom_ops=data_item.required_custom_ops,
- flex_ops=data_item.required_flex_ops,
- )
- )
-
- if data_item.check_failed_with_unknown_error:
- self.add_fact(TFLiteCompatibilityCheckFailed())
-
- if data_item.conversion_failed_for_model_with_custom_ops:
- self.add_fact(ModelHasCustomOperators())
+ analyze_tflite_compatibility_common(self, data_item)
@dataclass
@@ -107,21 +93,3 @@ class ModelIsNotCortexACompatible(CortexACompatibility):
unsupported_ops: set[str]
activation_func_support: dict[str, ActivationFunctionSupport]
-
-
-@dataclass
-class ModelIsNotTFLiteCompatible(Fact):
- """Model could not be converted into TensorFlow Lite format."""
-
- custom_ops: list[str] | None = None
- flex_ops: list[str] | None = None
-
-
-@dataclass
-class TFLiteCompatibilityCheckFailed(Fact):
- """TensorFlow Lite compatibility check failed by unknown reason."""
-
-
-@dataclass
-class ModelHasCustomOperators(Fact):
- """Model could not be loaded because it contains custom ops."""