diff options
author | Dmitrii Agibov <dmitrii.agibov@arm.com> | 2022-11-18 17:21:09 +0000 |
---|---|---|
committer | Dmitrii Agibov <dmitrii.agibov@arm.com> | 2022-11-29 14:44:13 +0000 |
commit | 6a88ee5315b4ce5b023370c1e55e48bf9f2b6f67 (patch) | |
tree | 88edabf90228724f4fe2944b0ab23859d824a880 /src/mlia/target/tosa/data_analysis.py | |
parent | a34163c9d9a5cc0416bcaea2ebf8383bda9d505c (diff) | |
download | mlia-6a88ee5315b4ce5b023370c1e55e48bf9f2b6f67.tar.gz |
Rename modules
- Rename module "mlia.devices" into "mlia.target"
- Rename module "mlia.target.ethosu" into "mlia.target.ethos_u"
- Rename module "mlia.target.cortexa" into "mlia.target.cortex_a"
- Rename and update tests
Change-Id: I6dca7c8646d881f739fb6b5914d1cc7e45e63dc2
Diffstat (limited to 'src/mlia/target/tosa/data_analysis.py')
-rw-r--r-- | src/mlia/target/tosa/data_analysis.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/mlia/target/tosa/data_analysis.py b/src/mlia/target/tosa/data_analysis.py new file mode 100644 index 0000000..7cbd61d --- /dev/null +++ b/src/mlia/target/tosa/data_analysis.py @@ -0,0 +1,36 @@ +# SPDX-FileCopyrightText: Copyright 2022, Arm Limited and/or its affiliates. +# SPDX-License-Identifier: Apache-2.0 +"""TOSA data analysis module.""" +from dataclasses import dataclass +from functools import singledispatchmethod + +from mlia.backend.tosa_checker.compat import TOSACompatibilityInfo +from mlia.core.common import DataItem +from mlia.core.data_analysis import Fact +from mlia.core.data_analysis import FactExtractor + + +@dataclass +class ModelIsTOSACompatible(Fact): + """Model is completely TOSA compatible.""" + + +@dataclass +class ModelIsNotTOSACompatible(Fact): + """Model is not TOSA compatible.""" + + +class TOSADataAnalyzer(FactExtractor): + """TOSA data analyzer.""" + + @singledispatchmethod + def analyze_data(self, data_item: DataItem) -> None: # type: ignore + """Analyse the data.""" + + @analyze_data.register + def analyze_tosa_compatibility(self, data_item: TOSACompatibilityInfo) -> None: + """Analyse TOSA compatibility information.""" + if data_item.tosa_compatible: + self.add_fact(ModelIsTOSACompatible()) + else: + self.add_fact(ModelIsNotTOSACompatible()) |