aboutsummaryrefslogtreecommitdiff
path: root/src/mlia/target/cortex_a/reporters.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/reporters.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/reporters.py')
-rw-r--r--src/mlia/target/cortex_a/reporters.py54
1 files changed, 2 insertions, 52 deletions
diff --git a/src/mlia/target/cortex_a/reporters.py b/src/mlia/target/cortex_a/reporters.py
index 65d7906..fc80c9f 100644
--- a/src/mlia/target/cortex_a/reporters.py
+++ b/src/mlia/target/cortex_a/reporters.py
@@ -17,6 +17,7 @@ from mlia.core.reporting import Report
from mlia.core.reporting import ReportItem
from mlia.core.reporting import Table
from mlia.nn.tensorflow.tflite_compat import TFLiteCompatibilityInfo
+from mlia.target.common.reporters import report_tflite_compatiblity
from mlia.target.cortex_a.config import CortexAConfiguration
from mlia.target.cortex_a.operators import CortexACompatibilityInfo
from mlia.utils.console import style_improvement
@@ -34,57 +35,6 @@ def report_target(target_config: CortexAConfiguration) -> Report:
)
-def report_tflite_compatiblity(compat_info: TFLiteCompatibilityInfo) -> Report:
- """Generate report for the TensorFlow Lite compatibility information."""
- if compat_info.conversion_errors:
- return Table(
- [
- Column("#", only_for=["plain_text"]),
- Column("Operator", alias="operator"),
- Column(
- "Operator location",
- alias="operator_location",
- fmt=Format(wrap_width=25),
- ),
- Column("Error code", alias="error_code"),
- Column(
- "Error message", alias="error_message", fmt=Format(wrap_width=25)
- ),
- ],
- [
- (
- index + 1,
- err.operator,
- ", ".join(err.location),
- err.code.name,
- err.message,
- )
- for index, err in enumerate(compat_info.conversion_errors)
- ],
- name="TensorFlow Lite conversion errors",
- alias="tensorflow_lite_conversion_errors",
- )
-
- return Table(
- columns=[
- Column("Reason", alias="reason"),
- Column(
- "Exception details",
- alias="exception_details",
- fmt=Format(wrap_width=40),
- ),
- ],
- rows=[
- (
- "TensorFlow Lite compatibility check failed with exception",
- str(compat_info.conversion_exception),
- ),
- ],
- name="TensorFlow Lite compatibility errors",
- alias="tflite_compatibility",
- )
-
-
def report_cortex_a_operators(op_compat: CortexACompatibilityInfo) -> Report:
"""Generate report for the operators."""
return Table(
@@ -132,7 +82,7 @@ def cortex_a_formatters(data: Any) -> Callable[[Any], Report]:
return report_target
if isinstance(data, TFLiteCompatibilityInfo):
- return report_tflite_compatiblity
+ return report_tflite_compatiblity # type: ignore
if isinstance(data, CortexACompatibilityInfo):
return report_cortex_a_operators