diff options
author | Dmitrii Agibov <dmitrii.agibov@arm.com> | 2022-09-08 14:24:39 +0100 |
---|---|---|
committer | Dmitrii Agibov <dmitrii.agibov@arm.com> | 2022-09-09 17:21:48 +0100 |
commit | f5b293d0927506c2a979a091bf0d07ecc78fa181 (patch) | |
tree | 4de585b7cb6ed34da8237063752270189a730a41 /src/mlia/devices/ethosu/data_analysis.py | |
parent | cde0c6ee140bd108849bff40467d8f18ffc332ef (diff) | |
download | mlia-f5b293d0927506c2a979a091bf0d07ecc78fa181.tar.gz |
MLIA-386 Simplify typing in the source code
- Enable deferred annotations evaluation
- Use builtin types for type hints whenever possible
- Use | syntax for union types
- Rename mlia.core._typing into mlia.core.typing
Change-Id: I3f6ffc02fa069c589bdd9e8bddbccd504285427a
Diffstat (limited to 'src/mlia/devices/ethosu/data_analysis.py')
-rw-r--r-- | src/mlia/devices/ethosu/data_analysis.py | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/mlia/devices/ethosu/data_analysis.py b/src/mlia/devices/ethosu/data_analysis.py index 9ed32ff..8d88cf7 100644 --- a/src/mlia/devices/ethosu/data_analysis.py +++ b/src/mlia/devices/ethosu/data_analysis.py @@ -1,11 +1,10 @@ # SPDX-FileCopyrightText: Copyright 2022, Arm Limited and/or its affiliates. # SPDX-License-Identifier: Apache-2.0 """Ethos-U data analysis module.""" +from __future__ import annotations + from dataclasses import dataclass from functools import singledispatchmethod -from typing import Dict -from typing import List -from typing import Union from mlia.core.common import DataItem from mlia.core.data_analysis import Fact @@ -19,7 +18,7 @@ from mlia.tools.vela_wrapper import Operators class HasCPUOnlyOperators(Fact): """Model has CPU only operators.""" - cpu_only_ops: List[str] + cpu_only_ops: list[str] @dataclass @@ -38,8 +37,8 @@ class AllOperatorsSupportedOnNPU(Fact): class PerfMetricDiff: """Performance metric difference.""" - original_value: Union[int, float] - optimized_value: Union[int, float] + original_value: int | float + optimized_value: int | float @property def diff(self) -> float: @@ -69,15 +68,15 @@ class PerfMetricDiff: class OptimizationDiff: """Optimization performance impact.""" - opt_type: List[OptimizationSettings] - opt_diffs: Dict[str, PerfMetricDiff] + opt_type: list[OptimizationSettings] + opt_diffs: dict[str, PerfMetricDiff] @dataclass class OptimizationResults(Fact): """Optimization results.""" - diffs: List[OptimizationDiff] + diffs: list[OptimizationDiff] class EthosUDataAnalyzer(FactExtractor): @@ -113,13 +112,13 @@ class EthosUDataAnalyzer(FactExtractor): orig_memory = orig.memory_usage orig_cycles = orig.npu_cycles - diffs: List[OptimizationDiff] = [] + diffs: list[OptimizationDiff] = [] for opt_type, opt_perf_metrics in optimizations: opt = opt_perf_metrics.in_kilobytes() opt_memory = opt.memory_usage opt_cycles = opt.npu_cycles - opt_diffs: Dict[str, PerfMetricDiff] = {} + opt_diffs: dict[str, PerfMetricDiff] = {} if orig_memory and opt_memory: opt_diffs.update( |