Skip to content

Commit 80ad67a

Browse files
committed
Deprecate compression option
1 parent d0d6e43 commit 80ad67a

File tree

8 files changed

+45
-40
lines changed

8 files changed

+45
-40
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ from optimum.intel import OVQuantizer, OVModelForSequenceClassification
126126
from transformers import AutoTokenizer, AutoModelForSequenceClassification
127127

128128
model_id = "distilbert-base-uncased-finetuned-sst-2-english"
129-
model = AutoModelForSequenceClassification.from_pretrained(model_id)
129+
model = OVModelForSequenceClassification.from_pretrained(model_id, export=True)
130130
tokenizer = AutoTokenizer.from_pretrained(model_id)
131131
def preprocess_fn(examples, tokenizer):
132132
return tokenizer(

docs/source/optimization_ov.mdx

+3-3
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ Here is how to apply static quantization on a fine-tuned DistilBERT:
2626

2727
```python
2828
from functools import partial
29-
from transformers import AutoModelForSequenceClassification, AutoTokenizer
30-
from optimum.intel import OVConfig, OVQuantizer
29+
from transformers import AutoTokenizer
30+
from optimum.intel import OVConfig, OVQuantizer, OVModelForSequenceClassification,
3131

3232
model_id = "distilbert-base-uncased-finetuned-sst-2-english"
33-
model = AutoModelForSequenceClassification.from_pretrained(model_id)
33+
model = OVModelForSequenceClassification.from_pretrained(model_id, export=True)
3434
tokenizer = AutoTokenizer.from_pretrained(model_id)
3535
# The directory where the quantized model will be saved
3636
save_dir = "ptq_model"

optimum/exporters/openvino/__main__.py

+7-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121

2222
from optimum.exporters import TasksManager
2323
from optimum.exporters.onnx.base import OnnxConfig
24-
from optimum.intel.openvino.configuration import OVConfig
24+
25+
2526
from optimum.utils.save_utils import maybe_load_preprocessors
2627

2728
from ...intel.utils.import_utils import (
@@ -152,18 +153,21 @@ def main_export(
152153
if compression_option is not None:
153154
logger.warning(
154155
"The `compression_option` argument is deprecated and will be removed in optimum-intel v1.17.0. "
155-
"Please, pass a `OVWeightQuantizationConfig` object in `quantization_config` argument instead."
156+
"Please, pass an `ov_config` argument instead `OVConfig(..., quantization_config=quantization_config)`."
156157
)
157158

158159
if compression_ratio is not None:
159160
logger.warning(
160161
"The `compression_ratio` argument is deprecated and will be removed in optimum-intel v1.17.0. "
161-
"Please, pass a `OVWeightQuantizationConfig(ratio=compression_ratio)` object in `quantization_config` argument instead."
162+
"Please, pass an `ov_config` argument instead `OVConfig(quantization_config={ratio=compression_ratio})`."
162163
)
163164

164165
# default_config = _check_default_4bit_configs(config)
165166

166167
if ov_config is None and compression_option is not None:
168+
169+
from ...intel.openvino.configuration import OVConfig
170+
167171
if compression_option == "fp16":
168172
ov_config = OVConfig(dtype="fp16")
169173
elif compression_option != "fp32":

optimum/exporters/openvino/convert.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
from optimum.exporters.onnx.convert import check_dummy_inputs_are_allowed
3333
from optimum.exporters.onnx.convert import export_pytorch as export_pytorch_to_onnx
3434
from optimum.exporters.onnx.convert import export_tensorflow as export_tensorflow_onnx
35-
from optimum.intel.openvino.configuration import OVConfig
35+
3636
from optimum.utils import DEFAULT_DUMMY_SHAPES, is_diffusers_available
3737
from optimum.utils.save_utils import maybe_save_preprocessors
3838

@@ -48,7 +48,6 @@
4848
remove_none_from_dummy_inputs,
4949
)
5050

51-
5251
if is_optimum_version(">=", "1.16.99"):
5352
from optimum.exporters.onnx.utils import _get_submodels_and_onnx_configs
5453

@@ -599,6 +598,9 @@ def export_from_model(
599598

600599
if num_parameters >= _MAX_UNCOMPRESSED_SIZE:
601600
if is_nncf_available():
601+
602+
from ...intel.openvino.configuration import OVConfig
603+
602604
ov_config = OVConfig(quantization_config={"bits": 8})
603605

604606
logger.info("The model weights will be quantized to int8.")

optimum/intel/__init__.py

+6-8
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,12 @@
5858
raise OptionalDependencyNotAvailable()
5959
except OptionalDependencyNotAvailable:
6060
_import_structure["utils.dummy_openvino_and_nncf_objects"] = [
61-
"OVConfig",
6261
"OVQuantizer",
6362
"OVTrainer",
6463
"OVTrainingArguments",
65-
"OVWeightQuantizationConfig",
6664
]
6765
else:
68-
_import_structure["openvino"].extend(
69-
["OVConfig", "OVQuantizer", "OVTrainer", "OVTrainingArguments", "OVWeightQuantizationConfig"]
70-
)
66+
_import_structure["openvino"].extend(["OVQuantizer", "OVTrainer", "OVTrainingArguments"])
7167

7268
try:
7369
if not (is_openvino_available() and is_diffusers_available()):
@@ -119,6 +115,8 @@
119115
"OVModelForSpeechSeq2Seq",
120116
"OVModelForSequenceClassification",
121117
"OVModelForTokenClassification",
118+
"OVWeightQuantizationConfig",
119+
"OVConfig",
122120
]
123121
)
124122

@@ -180,14 +178,12 @@
180178
raise OptionalDependencyNotAvailable()
181179
except OptionalDependencyNotAvailable:
182180
from .utils.dummy_openvino_and_nncf_objects import (
183-
OVConfig,
184181
OVQuantizer,
185182
OVTrainer,
186183
OVTrainingArguments,
187-
OVWeightQuantizationConfig,
188184
)
189185
else:
190-
from .openvino import OVConfig, OVQuantizer, OVTrainer, OVTrainingArguments, OVWeightQuantizationConfig
186+
from .openvino import OVQuantizer, OVTrainer, OVTrainingArguments
191187

192188
try:
193189
if not (is_openvino_available() and is_diffusers_available()):
@@ -218,6 +214,7 @@
218214
from .utils.dummy_openvino_objects import *
219215
else:
220216
from .openvino import (
217+
OVConfig,
221218
OVModelForAudioClassification,
222219
OVModelForAudioFrameClassification,
223220
OVModelForAudioXVector,
@@ -231,6 +228,7 @@
231228
OVModelForSequenceClassification,
232229
OVModelForSpeechSeq2Seq,
233230
OVModelForTokenClassification,
231+
OVWeightQuantizationConfig,
234232
)
235233

236234
try:

optimum/intel/openvino/__init__.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,12 @@
3636

3737
patch_torch_operators()
3838

39-
from .configuration import OVConfig, OVWeightQuantizationConfig
4039
from .quantization import OVQuantizer
4140
from .trainer import OVTrainer
4241
from .training_args import OVTrainingArguments
4342

43+
44+
from .configuration import OVConfig, OVWeightQuantizationConfig
4445
from .modeling import (
4546
OVModelForAudioClassification,
4647
OVModelForAudioFrameClassification,

optimum/intel/utils/dummy_openvino_and_nncf_objects.py

-22
Original file line numberDiff line numberDiff line change
@@ -46,25 +46,3 @@ def __init__(self, *args, **kwargs):
4646
@classmethod
4747
def from_pretrained(cls, *args, **kwargs):
4848
requires_backends(cls, ["openvino", "nncf"])
49-
50-
51-
class OVConfig(metaclass=DummyObject):
52-
_backends = ["openvino", "nncf"]
53-
54-
def __init__(self, *args, **kwargs):
55-
requires_backends(self, ["openvino", "nncf"])
56-
57-
@classmethod
58-
def from_pretrained(cls, *args, **kwargs):
59-
requires_backends(cls, ["openvino", "nncf"])
60-
61-
62-
class OVWeightQuantizationConfig(metaclass=DummyObject):
63-
_backends = ["openvino", "nncf"]
64-
65-
def __init__(self, *args, **kwargs):
66-
requires_backends(self, ["openvino", "nncf"])
67-
68-
@classmethod
69-
def from_pretrained(cls, *args, **kwargs):
70-
requires_backends(cls, ["openvino", "nncf"])

optimum/intel/utils/dummy_openvino_objects.py

+22
Original file line numberDiff line numberDiff line change
@@ -167,3 +167,25 @@ def __init__(self, *args, **kwargs):
167167
@classmethod
168168
def from_pretrained(cls, *args, **kwargs):
169169
requires_backends(cls, ["openvino"])
170+
171+
172+
class OVConfig(metaclass=DummyObject):
173+
_backends = ["openvino"]
174+
175+
def __init__(self, *args, **kwargs):
176+
requires_backends(self, ["openvino"])
177+
178+
@classmethod
179+
def from_pretrained(cls, *args, **kwargs):
180+
requires_backends(self, ["openvino"])
181+
182+
183+
class OVWeightQuantizationConfig(metaclass=DummyObject):
184+
_backends = ["openvino"]
185+
186+
def __init__(self, *args, **kwargs):
187+
requires_backends(self, ["openvino"])
188+
189+
@classmethod
190+
def from_pretrained(cls, *args, **kwargs):
191+
requires_backends(self, ["openvino"])

0 commit comments

Comments
 (0)