Skip to content

Commit 9e8ce0e

Browse files
committed
add hub_kwargs and default pipeline tests
1 parent faba83f commit 9e8ce0e

File tree

3 files changed

+24
-6
lines changed

3 files changed

+24
-6
lines changed

optimum/exporters/openvino/model_patcher.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -327,9 +327,9 @@ def _llama_gemma_update_causal_mask(self, attention_mask, input_tensor, cache_po
327327
offset = 0
328328
mask_shape = attention_mask.shape
329329
mask_slice = (attention_mask.eq(0.0)).to(dtype=dtype) * min_dtype
330-
causal_mask[
331-
: mask_shape[0], : mask_shape[1], offset : mask_shape[2] + offset, : mask_shape[3]
332-
] = mask_slice
330+
causal_mask[: mask_shape[0], : mask_shape[1], offset : mask_shape[2] + offset, : mask_shape[3]] = (
331+
mask_slice
332+
)
333333

334334
if (
335335
self.config._attn_implementation == "sdpa"

optimum/intel/pipelines/pipeline_base.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ def load_ipex_model(
9999
targeted_task,
100100
SUPPORTED_TASKS,
101101
model_kwargs: Optional[Dict[str, Any]] = None,
102+
hub_kwargs: Optional[Dict[str, Any]] = None,
102103
**kwargs,
103104
):
104105
export = kwargs.pop("export", True)
@@ -109,7 +110,7 @@ def load_ipex_model(
109110

110111
if model is None:
111112
model_id = SUPPORTED_TASKS[targeted_task]["default"]
112-
model = ipex_model_class.from_pretrained(model_id, export=True, **model_kwargs)
113+
model = ipex_model_class.from_pretrained(model_id, export=True, **model_kwargs, **hub_kwargs)
113114
elif isinstance(model, str):
114115
model_id = model
115116
try:
@@ -121,7 +122,7 @@ def load_ipex_model(
121122
"config file not found, please pass `export` to decide whether we should export this model. `export` defaullt to True"
122123
)
123124

124-
model = ipex_model_class.from_pretrained(model, export=export, **model_kwargs)
125+
model = ipex_model_class.from_pretrained(model, export=export, **model_kwargs, **hub_kwargs)
125126
elif isinstance(model, IPEXModel):
126127
model_id = None
127128
else:
@@ -280,7 +281,9 @@ def pipeline(
280281

281282
# Load the correct model if possible
282283
# Infer the framework from the model if not already defined
283-
model, model_id = MAPPING_LOADING_FUNC[accelerator](model, task, supported_tasks, model_kwargs, **kwargs)
284+
model, model_id = MAPPING_LOADING_FUNC[accelerator](
285+
model, task, supported_tasks, model_kwargs, hub_kwargs, **kwargs
286+
)
284287

285288
if load_tokenizer and model_id and tokenizer is None:
286289
tokenizer = AutoTokenizer.from_pretrained(model_id, **hub_kwargs, **model_kwargs)

tests/ipex/test_pipelines.py

+15
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from transformers.pipelines import pipeline as transformers_pipeline
2323

2424
from optimum.intel.ipex.modeling_base import (
25+
IPEXModel,
2526
IPEXModelForAudioClassification,
2627
IPEXModelForCausalLM,
2728
IPEXModelForImageClassification,
@@ -122,6 +123,15 @@ class PipelinesIntegrationTest(unittest.TestCase):
122123
"resnet",
123124
"vit",
124125
)
126+
SUPPORT_TASKS = (
127+
"text-generation",
128+
"fill-mask",
129+
"question-answering",
130+
"image-classification",
131+
"text-classification",
132+
"token-classification",
133+
"audio-classification",
134+
)
125135

126136
@parameterized.expand(COMMON_SUPPORTED_ARCHITECTURES)
127137
def test_token_classification_pipeline_inference(self, model_arch):
@@ -263,3 +273,8 @@ def test_pipeline_load_from_jit_model(self, model_arch):
263273
self.assertTrue(isinstance(ipex_generator.model, IPEXModelForSequenceClassification))
264274
self.assertTrue(isinstance(ipex_generator.model.model, torch.jit.RecursiveScriptModule))
265275
self.assertGreaterEqual(ipex_output[0]["score"], 0.0)
276+
277+
@parameterized.expand(SUPPORT_TASKS)
278+
def test_pipeline_with_default_model(self, task):
279+
ipex_generator = ipex_pipeline(task, accelerator="ipex")
280+
self.assertTrue(isinstance(ipex_generator.model, IPEXModel))

0 commit comments

Comments
 (0)