aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mlia/nn/rewrite/core/rewrite.py6
-rw-r--r--src/mlia/nn/rewrite/library/fc_sparsity24_layer.py16
-rw-r--r--tests/test_cli_commands.py3
-rw-r--r--tests/test_nn_rewrite_core_rewrite.py5
4 files changed, 27 insertions, 3 deletions
diff --git a/src/mlia/nn/rewrite/core/rewrite.py b/src/mlia/nn/rewrite/core/rewrite.py
index f5f5561..03af0e9 100644
--- a/src/mlia/nn/rewrite/core/rewrite.py
+++ b/src/mlia/nn/rewrite/core/rewrite.py
@@ -115,7 +115,11 @@ class RewritingOptimizer(Optimizer):
[
DynamicallyLoadedRewrite(
"fully-connected", "mlia.nn.rewrite.library.fc_layer.get_keras_model"
- )
+ ),
+ DynamicallyLoadedRewrite(
+ "fully_connected_sparsity24",
+ "mlia.nn.rewrite.library.fc_sparsity24_layer.get_keras_model24",
+ ),
]
)
diff --git a/src/mlia/nn/rewrite/library/fc_sparsity24_layer.py b/src/mlia/nn/rewrite/library/fc_sparsity24_layer.py
new file mode 100644
index 0000000..fda619f
--- /dev/null
+++ b/src/mlia/nn/rewrite/library/fc_sparsity24_layer.py
@@ -0,0 +1,16 @@
+# SPDX-FileCopyrightText: Copyright 2023, Arm Limited and/or its affiliates.
+# SPDX-License-Identifier: Apache-2.0
+"""PLACEHOLDER for example rewrite with one fully connected 2:4 sparsity layer."""
+from typing import Any
+
+from keras.api._v2 import keras # Temporary workaround for now: MLIA-1107
+
+from .fc_layer import get_keras_model
+
+# get_keras_model(input_shape,output_shape)
+
+
+def get_keras_model24(input_shape: Any, output_shape: Any) -> keras.Model:
+ """Generate TensorFlow Lite model for rewrite."""
+ model = get_keras_model(input_shape, output_shape)
+ return model
diff --git a/tests/test_cli_commands.py b/tests/test_cli_commands.py
index 9cda27c..5b2b947 100644
--- a/tests/test_cli_commands.py
+++ b/tests/test_cli_commands.py
@@ -126,7 +126,8 @@ def test_performance_unknown_target(
Exception,
match=re.escape(
"Invalid rewrite target: 'random'. "
- "Supported rewrites: ['fully-connected']"
+ "Supported rewrites: ['fully-connected',"
+ " 'fully_connected_sparsity24']"
),
),
],
diff --git a/tests/test_nn_rewrite_core_rewrite.py b/tests/test_nn_rewrite_core_rewrite.py
index b32fafd..d9c74ea 100644
--- a/tests/test_nn_rewrite_core_rewrite.py
+++ b/tests/test_nn_rewrite_core_rewrite.py
@@ -100,7 +100,10 @@ def test_register_rewrite_function() -> None:
def test_builtin_rewrite_names() -> None:
"""Test if all builtin rewrites are properly registered and returned."""
- assert RewritingOptimizer.builtin_rewrite_names() == ["fully-connected"]
+ assert RewritingOptimizer.builtin_rewrite_names() == [
+ "fully-connected",
+ "fully_connected_sparsity24",
+ ]
def test_rewrite_function_autoload() -> None: