From e9e58f943531a60b66031a53d8e76749dc6df413 Mon Sep 17 00:00:00 2001 From: Wonju Lee Date: Thu, 2 Jun 2022 22:34:27 +0900 Subject: [PATCH] add nncf precision test --- external/mmdetection/tests/test_ote_api.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/external/mmdetection/tests/test_ote_api.py b/external/mmdetection/tests/test_ote_api.py index 8baf38f0e14..933e86d4c27 100644 --- a/external/mmdetection/tests/test_ote_api.py +++ b/external/mmdetection/tests/test_ote_api.py @@ -36,7 +36,7 @@ from ote_sdk.entities.inference_parameters import InferenceParameters from ote_sdk.entities.model_template import TaskType, task_type_to_label_domain from ote_sdk.entities.metrics import Performance -from ote_sdk.entities.model import ModelEntity, ModelFormat, ModelOptimizationType +from ote_sdk.entities.model import ModelEntity, ModelFormat, ModelOptimizationType, ModelPrecision from ote_sdk.entities.model_template import parse_model_template from ote_sdk.entities.optimization_parameters import OptimizationParameters from ote_sdk.entities.resultset import ResultSetEntity @@ -520,6 +520,14 @@ def end_to_end( print(f'Performance of NNCF model: {nncf_performance.score.value:.4f}') self.check_threshold(validation_performance, nncf_performance, nncf_perf_delta_tolerance, 'Too big performance difference after NNCF optimization.') + + # Check whether optimize & export assigns correct model precision + nncf_task.export(ExportType.OPENVINO, nncf_model) + + if nncf_task._hyperparams.nncf_optimization.enable_quantization: + assert nncf_model.precision[0] == ModelPrecision.INT8 + else: + assert nncf_model.precision[0] == nncf_task._precision_from_config[0] else: print('Skipped test of OTEDetectionNNCFTask. Required NNCF module.')