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/ethos_u/advice_generation.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/ethos_u/advice_generation.py')
-rw-r--r-- | src/mlia/target/ethos_u/advice_generation.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/mlia/target/ethos_u/advice_generation.py b/src/mlia/target/ethos_u/advice_generation.py index daae4f4..a9f9eac 100644 --- a/src/mlia/target/ethos_u/advice_generation.py +++ b/src/mlia/target/ethos_u/advice_generation.py @@ -12,6 +12,10 @@ from mlia.core.advice_generation import FactBasedAdviceProducer from mlia.core.common import AdviceCategory from mlia.core.common import DataItem from mlia.nn.tensorflow.optimizations.select import OptimizationSettings +from mlia.target.common.reporters import handle_model_is_not_tflite_compatible_common +from mlia.target.common.reporters import handle_tflite_check_failed_common +from mlia.target.common.reporters import ModelIsNotTFLiteCompatible +from mlia.target.common.reporters import TFLiteCompatibilityCheckFailed from mlia.target.ethos_u.data_analysis import AllOperatorsSupportedOnNPU from mlia.target.ethos_u.data_analysis import HasCPUOnlyOperators from mlia.target.ethos_u.data_analysis import HasUnsupportedOnNPUOperators @@ -147,6 +151,22 @@ class EthosUAdviceProducer(FactBasedAdviceProducer): ] ) + @produce_advice.register + @advice_category(AdviceCategory.COMPATIBILITY) + def handle_model_is_not_tflite_compatible( + self, data_item: ModelIsNotTFLiteCompatible + ) -> None: + """Advice for TensorFlow Lite compatibility.""" + handle_model_is_not_tflite_compatible_common(self, data_item) + + @produce_advice.register + @advice_category(AdviceCategory.COMPATIBILITY) + def handle_tflite_check_failed( + self, _data_item: TFLiteCompatibilityCheckFailed + ) -> None: + """Advice for the failed TensorFlow Lite compatibility checks.""" + handle_tflite_check_failed_common(self, _data_item) + @staticmethod def get_next_optimization_targets( opt_type: list[OptimizationSettings], |