diff options
author | Dhruv Chauhan <dhruv.chauhan@arm.com> | 2023-03-20 10:22:08 +0000 |
---|---|---|
committer | Dhruv Chauhan <dhruv.chauhan@arm.com> | 2023-03-24 12:44:23 +0000 |
commit | edf436c48029aa4e2b4ca5d17eee5a8f07ecbd6f (patch) | |
tree | 2375038e77873f6cd499b8938bc8b816daea3fc8 /src/mlia/target/cortex_a/data_analysis.py | |
parent | 803a91c0723533f62148528a81f9d0411b57438e (diff) | |
download | mlia-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.py | 36 |
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.""" |