|
28 | 28 | import nncf
|
29 | 29 | import numpy as np
|
30 | 30 | import openvino.runtime as ov
|
| 31 | +from addict import Dict as ADDict |
31 | 32 | from nncf.common.quantization.structs import QuantizationPreset
|
32 | 33 | from openvino.model_api.adapters import OpenvinoAdapter, create_core
|
33 | 34 | from openvino.model_api.models import Model
|
34 | 35 |
|
| 36 | +from otx.algorithms.common.utils import get_default_async_reqs_num, read_py_config |
35 | 37 | from otx.algorithms.common.utils.ir import check_if_quantized
|
36 | 38 | from otx.algorithms.common.utils.logger import get_logger
|
37 |
| -from otx.algorithms.common.utils.utils import get_default_async_reqs_num |
38 | 39 | from otx.algorithms.visual_prompting.adapters.openvino import model_wrappers
|
39 | 40 | from otx.algorithms.visual_prompting.adapters.pytorch_lightning.datasets.dataset import (
|
40 | 41 | OTXVisualPromptingDataset,
|
@@ -447,13 +448,17 @@ def optimize(
|
447 | 448 | if optimization_parameters is not None:
|
448 | 449 | optimization_parameters.update_progress(10 * i + 35 * (i - 1), None)
|
449 | 450 |
|
450 |
| - stat_subset_size = self.hparams.pot_parameters.stat_subset_size |
451 |
| - preset = QuantizationPreset(self.hparams.pot_parameters.preset.name.lower()) |
452 |
| - |
453 |
| - compressed_model = nncf.quantize( |
454 |
| - ov_model, quantization_dataset, subset_size=min(stat_subset_size, len(data_loader)), preset=preset |
| 451 | + optimization_config_path = os.path.join(self._base_dir, "ptq_optimization_config.py") |
| 452 | + ptq_config = ADDict() |
| 453 | + if os.path.exists(optimization_config_path): |
| 454 | + ptq_config = read_py_config(optimization_config_path) |
| 455 | + ptq_config.update( |
| 456 | + subset_size=min(self.hparams.pot_parameters.stat_subset_size, len(data_loader)), |
| 457 | + preset=QuantizationPreset(self.hparams.pot_parameters.preset.name.lower()), |
455 | 458 | )
|
456 | 459 |
|
| 460 | + compressed_model = nncf.quantize(ov_model, quantization_dataset, **ptq_config) |
| 461 | + |
457 | 462 | if optimization_parameters is not None:
|
458 | 463 | optimization_parameters.update_progress(45 * i, None)
|
459 | 464 |
|
|
0 commit comments