From 446c379c92e15ad8f24ed0db853dd0fc9c271151 Mon Sep 17 00:00:00 2001 From: Ruomei Yan Date: Mon, 20 Feb 2023 15:32:54 +0000 Subject: 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 Change-Id: I67d85f71fa253d2bad4efe304ad8225970b9622c --- src/mlia/target/ethos_u/advisor.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/mlia/target/ethos_u/advisor.py') diff --git a/src/mlia/target/ethos_u/advisor.py b/src/mlia/target/ethos_u/advisor.py index d2c308a..321734c 100644 --- a/src/mlia/target/ethos_u/advisor.py +++ b/src/mlia/target/ethos_u/advisor.py @@ -54,8 +54,20 @@ class EthosUInferenceAdvisor(DefaultInferenceAdvisor): if is_tflite_model(model): # TensorFlow Lite models do not support optimization (only performance)! if context.category_enabled(AdviceCategory.OPTIMIZATION): - raise RuntimeError( - "Optimizations are not supported for TensorFlow Lite files." + optimization_settings = self._get_optimization_settings(context) + + optimization_types = { + opt["optimization_type"] for opt in optimization_settings[0] + } + if optimization_types != {"rewrite"}: + raise RuntimeError( + "Only 'rewrite' is supported for TensorFlow Lite files." + ) + + collectors.append( + EthosUOptimizationPerformance( + model, target_config, optimization_settings, backends + ) ) if context.category_enabled(AdviceCategory.PERFORMANCE): collectors.append(EthosUPerformance(model, target_config, backends)) -- cgit v1.2.1