aboutsummaryrefslogtreecommitdiff
path: root/src/mlia/devices/ethosu/data_analysis.py
diff options
context:
space:
mode:
authorDmitrii Agibov <dmitrii.agibov@arm.com>2022-09-08 14:24:39 +0100
committerDmitrii Agibov <dmitrii.agibov@arm.com>2022-09-09 17:21:48 +0100
commitf5b293d0927506c2a979a091bf0d07ecc78fa181 (patch)
tree4de585b7cb6ed34da8237063752270189a730a41 /src/mlia/devices/ethosu/data_analysis.py
parentcde0c6ee140bd108849bff40467d8f18ffc332ef (diff)
downloadmlia-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.py21
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(