diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_nn_rewrite_core_rewrite.py | 16 | ||||
-rw-r--r-- | tests/test_nn_rewrite_core_train.py | 9 |
2 files changed, 23 insertions, 2 deletions
diff --git a/tests/test_nn_rewrite_core_rewrite.py b/tests/test_nn_rewrite_core_rewrite.py index 1d0100a..e614cad 100644 --- a/tests/test_nn_rewrite_core_rewrite.py +++ b/tests/test_nn_rewrite_core_rewrite.py @@ -39,6 +39,20 @@ def test_rewrite() -> None: @pytest.mark.parametrize( + "rewrite_name, callbacks_length", + [ + ("fully-connected", 0), + ("fully-connected-sparsity24", 1), + ], +) +def test_rewrite_selection(rewrite_name: str, callbacks_length: int) -> None: + """Test that the correct rewrite class is instantiated.""" + rewrite = RewritingOptimizer.registry.items[rewrite_name] + assert rewrite.name == rewrite_name + assert len(rewrite.training_callbacks()) == callbacks_length + + +@pytest.mark.parametrize( "rewrite_name, expected_error", [ ("fully-connected", does_not_raise()), @@ -89,7 +103,7 @@ def test_rewriting_optimizer( def test_register_rewrite_function() -> None: - """Test adding rewrite functions and verify the are reported via the registry.""" + """Test adding rewrite functions and verify they are reported via the registry.""" registry = RewriteRegistry() rewrite1 = Rewrite("r1", cast(RewriteCallable, lambda: 1)) diff --git a/tests/test_nn_rewrite_core_train.py b/tests/test_nn_rewrite_core_train.py index 624c5ed..34b9543 100644 --- a/tests/test_nn_rewrite_core_train.py +++ b/tests/test_nn_rewrite_core_train.py @@ -14,6 +14,7 @@ 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.train import augment_fn_twins from mlia.nn.rewrite.core.train import AUGMENTATION_PRESETS from mlia.nn.rewrite.core.train import LearningRateSchedule @@ -53,12 +54,18 @@ def check_train( """Test the train() function.""" with TemporaryDirectory() as tmp_dir: output_file = Path(tmp_dir, "out.tflite") + mock_rewrite = DynamicallyLoadedRewrite( + name="replace", + function_name=( + "tests.test_nn_rewrite_core_train.replace_fully_connected_with_conv" + ), + ) result = train( source_model=str(tflite_model), unmodified_model=str(tflite_model) if use_unmodified_model else None, output_model=str(output_file), input_tfrec=str(tfrecord), - replace_fn=replace_fully_connected_with_conv, + rewrite=mock_rewrite, input_tensors=["sequential/flatten/Reshape"], output_tensors=["StatefulPartitionedCall:0"], train_params=train_params, |