aboutsummaryrefslogtreecommitdiff
path: root/src/mlia/cli/commands.py
diff options
context:
space:
mode:
authorRuomei Yan <ruomei.yan@arm.com>2023-02-20 15:32:54 +0000
committerBenjamin Klimczak <benjamin.klimczak@arm.com>2023-10-11 15:42:28 +0100
commit446c379c92e15ad8f24ed0db853dd0fc9c271151 (patch)
treefb9e2b20fba15d3aa44054eb76d76fbdb1459006 /src/mlia/cli/commands.py
parentf0b8ed75fed9dc69ab1f6313339f9f7e38bfc725 (diff)
downloadmlia-446c379c92e15ad8f24ed0db853dd0fc9c271151.tar.gz
Add a CLI component to enable rewrites
* Add flags for rewrite (--rewrite, --rewrite-start, --rewrite-end, --rewrite-target) * Refactor CLI interfaces to accept tflite models with optimize for rewrite, keras models with optimize for clustering and pruning * Refactor and move common.py and select.py out of the folder nn/tensorflow/optimizations * Add file nn/rewrite/core/rewrite.py as placeholder * Update/add unit tests * Refactor OptimizeModel in ethos_u/data_collection.py for accepting tflite model case * Extend the logic so that if "--rewrite" is specified, we don't add pruning to also accept TFLite models. * Update README.md Resolves: MLIA-750, MLIA-854, MLIA-865 Signed-off-by: Benjamin Klimczak <benjamin.klimczak@arm.com> Change-Id: I67d85f71fa253d2bad4efe304ad8225970b9622c
Diffstat (limited to 'src/mlia/cli/commands.py')
-rw-r--r--src/mlia/cli/commands.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/mlia/cli/commands.py b/src/mlia/cli/commands.py
index 1f339ee..7af41d9 100644
--- a/src/mlia/cli/commands.py
+++ b/src/mlia/cli/commands.py
@@ -96,7 +96,7 @@ def check(
)
-def optimize( # pylint: disable=too-many-arguments
+def optimize( # pylint: disable=too-many-locals,too-many-arguments
ctx: ExecutionContext,
target_profile: str,
model: str,
@@ -104,8 +104,13 @@ def optimize( # pylint: disable=too-many-arguments
clustering: bool,
pruning_target: float | None,
clustering_target: int | None,
+ rewrite: bool | None = None,
+ rewrite_target: str | None = None,
+ rewrite_start: str | None = None,
+ rewrite_end: str | None = None,
layers_to_optimize: list[str] | None = None,
backend: list[str] | None = None,
+ dataset: Path | None = None,
) -> None:
"""Show the performance improvements (if any) after applying the optimizations.
@@ -145,7 +150,12 @@ def optimize( # pylint: disable=too-many-arguments
clustering,
pruning_target,
clustering_target,
+ rewrite,
+ rewrite_target,
+ rewrite_start,
+ rewrite_end,
layers_to_optimize,
+ dataset,
)
)