aboutsummaryrefslogtreecommitdiff
path: root/tests/test_nn_rewrite_core_train.py
diff options
context:
space:
mode:
authorMadeleine Dunn <madeleine.dunn@arm.com>2024-02-21 17:10:07 +0000
committerMadeleine Dunn <madeleine.dunn@arm.com>2024-04-04 15:26:36 +0100
commit1ebb335cba516bcf973b041efa6a9878d1022b93 (patch)
tree9038cc30c9f32403b715506abbd76f59cbf3d6a6 /tests/test_nn_rewrite_core_train.py
parent17813ba5be09f0e11fc0748afa4ccf2da02881b6 (diff)
downloadmlia-1ebb335cba516bcf973b041efa6a9878d1022b93.tar.gz
feat: Implement int8 sparsity 2:4 rewrite
- Implement pruning-preserving quantisation aware training - Rework the training logic to avoid duplication - Remove the DynamicallyLoadedRewrite class as it is now unused Resolves: MLIA-1003 Signed-off-by: Madeleine Dunn <madeleine.dunn@arm.com> Change-Id: Ia7a4acf5f477a27963cffa88180cca085b32ffe4
Diffstat (limited to 'tests/test_nn_rewrite_core_train.py')
-rw-r--r--tests/test_nn_rewrite_core_train.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/tests/test_nn_rewrite_core_train.py b/tests/test_nn_rewrite_core_train.py
index 34b9543..371c79f 100644
--- a/tests/test_nn_rewrite_core_train.py
+++ b/tests/test_nn_rewrite_core_train.py
@@ -14,13 +14,15 @@ import pytest
import tensorflow as tf
from keras.api._v2 import keras # Temporary workaround for now: MLIA-1107
-from mlia.nn.rewrite.core.rewrite import DynamicallyLoadedRewrite
+from mlia.nn.rewrite.core.rewrite import FullyConnectedRewrite
+from mlia.nn.rewrite.core.rewrite import QATRewrite
from mlia.nn.rewrite.core.train import augment_fn_twins
from mlia.nn.rewrite.core.train import AUGMENTATION_PRESETS
from mlia.nn.rewrite.core.train import LearningRateSchedule
from mlia.nn.rewrite.core.train import mixup
from mlia.nn.rewrite.core.train import train
from mlia.nn.rewrite.core.train import TrainingParameters
+from mlia.nn.rewrite.library.fc_layer import get_keras_model as fc_rewrite
from tests.utils.rewrite import MockTrainingParameters
@@ -54,12 +56,11 @@ def check_train(
"""Test the train() function."""
with TemporaryDirectory() as tmp_dir:
output_file = Path(tmp_dir, "out.tflite")
- mock_rewrite = DynamicallyLoadedRewrite(
+ mock_rewrite = FullyConnectedRewrite(
name="replace",
- function_name=(
- "tests.test_nn_rewrite_core_train.replace_fully_connected_with_conv"
- ),
+ rewrite_fn=fc_rewrite,
)
+ is_qat = isinstance(mock_rewrite, QATRewrite)
result = train(
source_model=str(tflite_model),
unmodified_model=str(tflite_model) if use_unmodified_model else None,
@@ -68,6 +69,7 @@ def check_train(
rewrite=mock_rewrite,
input_tensors=["sequential/flatten/Reshape"],
output_tensors=["StatefulPartitionedCall:0"],
+ is_qat=is_qat,
train_params=train_params,
)