Skip to content

Commit 4a007f5

Browse files
Addressed comments
1 parent de9b5c1 commit 4a007f5

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

optimum/intel/openvino/quantization.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ def _quantize_ovbasemodel(
341341
calibration_dataset = self._prepare_unet_dataset(
342342
quantization_config.num_samples, dataset=calibration_dataset
343343
)
344-
elif Dataset is not None and isinstance(calibration_dataset, Dataset):
344+
elif is_datasets_available() and isinstance(calibration_dataset, Dataset):
345345
calibration_dataloader = self._get_calibration_dataloader(
346346
calibration_dataset=calibration_dataset,
347347
batch_size=batch_size,
@@ -374,7 +374,7 @@ def _quantize_ovbasemodel(
374374
from optimum.intel import OVModelForCausalLM
375375

376376
if isinstance(self.model, OVModelForCausalLM):
377-
calibration_dataset = self._prepare_gptq_dataset(quantization_config)
377+
calibration_dataset = self._prepare_builtin_dataset(quantization_config)
378378
elif isinstance(self.model, OVStableDiffusionPipelineBase):
379379
calibration_dataset = self._prepare_unet_dataset(
380380
quantization_config.num_samples, dataset_name=quantization_config.dataset
@@ -392,6 +392,7 @@ def _quantize_ovbasemodel(
392392
self.model.unet.model, quantization_config, calibration_dataset
393393
)
394394
else:
395+
# This may be for example OVModelForImageClassification, OVModelForAudioClassification, etc.
395396
self.model.model = _hybrid_quantization(self.model.model, quantization_config, calibration_dataset)
396397
else:
397398
_weight_only_quantization(self.model.model, quantization_config, calibration_dataset)
@@ -672,7 +673,7 @@ def _remove_unused_columns(self, dataset: "Dataset"):
672673
ignored_columns = list(set(dataset.column_names) - set(self._signature_columns))
673674
return dataset.remove_columns(ignored_columns)
674675

675-
def _prepare_gptq_dataset(self, quantization_config: OVWeightQuantizationConfig):
676+
def _prepare_builtin_dataset(self, quantization_config: OVWeightQuantizationConfig):
676677
from optimum.gptq.data import get_dataset, prepare_dataset
677678

678679
tokenizer = AutoTokenizer.from_pretrained(quantization_config.tokenizer)
@@ -721,7 +722,7 @@ def _prepare_unet_dataset(
721722
if dataset is not None:
722723
if isinstance(dataset, nncf.Dataset):
723724
return dataset
724-
if Dataset is not None and isinstance(dataset, Dataset):
725+
if is_datasets_available() and isinstance(dataset, Dataset):
725726
dataset = dataset.select_columns(["caption"])
726727

727728
def transform_fn(data_item):
@@ -783,7 +784,7 @@ def _weight_only_quantization(
783784

784785
dataset = None
785786
if calibration_dataset is not None:
786-
if Dataset is not None and isinstance(calibration_dataset, Dataset):
787+
if is_datasets_available() and isinstance(calibration_dataset, Dataset):
787788
raise ValueError(
788789
"Providing calibration dataset as an instance of `datasets.Dataset` for OV weight-only "
789790
"quantization is not supported. Please provide it as `nncf.Dataset` or as iterable of "

0 commit comments

Comments
 (0)