Skip to content

Commit 2cf460d

Browse files
committed
Refactor After Review
1 parent 7e24f10 commit 2cf460d

File tree

3 files changed

+24
-15
lines changed

3 files changed

+24
-15
lines changed

optimum/exporters/openvino/convert.py

+13-14
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from transformers.utils import is_tf_available, is_torch_available
2424

2525
from openvino.runtime import PartialShape, save_model
26+
from openvino.runtime.exceptions import OVTypeError
2627
from openvino.runtime.utils.types import get_element_type
2728
from openvino.tools.ovc import convert_model
2829
from optimum.exporters.onnx.base import OnnxConfig
@@ -489,47 +490,45 @@ def export_models(
489490
return outputs
490491

491492

492-
OV_TOKENIZER_FILE_NAME = "openvino_tokenizer{}.xml"
493-
OV_DETOKENIZER_FILE_NAME = "openvino_detokenizer{}.xml"
494-
UNSUPPORTED_TOKENZIER_CLASSES = (
493+
UNSUPPORTED_TOKENIZER_CLASSES = (
495494
T5Tokenizer,
496495
T5TokenizerFast,
497496
)
498497

499498

500499
def export_tokenizer(
501500
tokenizer,
502-
output_path: Union[str, Path],
501+
output: Union[str, Path],
503502
suffix: Optional[str] = "",
504503
):
505-
from openvino.runtime.exceptions import OVTypeError
504+
from optimum.intel.openvino import OV_DETOKENIZER_NAME, OV_TOKENIZER_NAME # avoid circular imports
506505

507-
if isinstance(tokenizer, UNSUPPORTED_TOKENZIER_CLASSES):
508-
logger.info("OpenVINO Tokenizer for this model is not supported.")
506+
if isinstance(tokenizer, UNSUPPORTED_TOKENIZER_CLASSES):
507+
logger.info(f"OpenVINO Tokenizer export for {type(tokenizer).__name__} is not supported.")
509508
return
510509

511510
try:
512511
from openvino_tokenizers import convert_tokenizer
513512
except ModuleNotFoundError:
514513
logger.info("Run `pip install openvino-tokenizers` to get OpenVINO tokenizer/detokenizer models.")
515514

516-
if not isinstance(output_path, Path):
517-
output_path = Path(output_path)
515+
if not isinstance(output, Path):
516+
output = Path(output)
518517

519518
try:
520519
converted = convert_tokenizer(tokenizer, with_detokenizer=True)
521520
except NotImplementedError:
522-
logger.info("Detokenizer is not supported, convert tokenizer only.")
521+
logger.warning("Detokenizer is not supported, convert tokenizer only.")
523522
converted = convert_tokenizer(tokenizer, with_detokenizer=False)
524523
except OVTypeError:
525-
logger.info("OpenVINO Tokenizer for this model is not supported.")
524+
logger.warning(f"OpenVINO Tokenizer for {type(tokenizer).__name__} is not supported.")
526525
return
527526
except Exception as exception:
528-
logger.warning(f"OpenVINO Tokenizer for this model is not supported. Exception: {exception}")
527+
logger.warning(f"OpenVINO Tokenizer {type(tokenizer).__name__} is not supported. Exception: {exception}")
529528
return
530529

531530
if not isinstance(converted, tuple):
532531
converted = (converted,)
533532

534-
for model, file_name in zip(converted, (OV_TOKENIZER_FILE_NAME, OV_DETOKENIZER_FILE_NAME)):
535-
save_model(model, output_path / file_name.format(suffix))
533+
for model, file_name in zip(converted, (OV_TOKENIZER_NAME, OV_DETOKENIZER_NAME)):
534+
save_model(model, output / file_name.format(suffix))

optimum/intel/openvino/__init__.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,14 @@
1414
import logging
1515

1616
from ..utils.import_utils import is_diffusers_available, is_nncf_available
17-
from .utils import OV_DECODER_NAME, OV_DECODER_WITH_PAST_NAME, OV_ENCODER_NAME, OV_XML_FILE_NAME
17+
from .utils import (
18+
OV_DECODER_NAME,
19+
OV_DECODER_WITH_PAST_NAME,
20+
OV_DETOKENIZER_NAME,
21+
OV_ENCODER_NAME,
22+
OV_TOKENIZER_NAME,
23+
OV_XML_FILE_NAME,
24+
)
1825

1926

2027
if is_nncf_available():

optimum/intel/openvino/utils.py

+3
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@
3131
OV_DECODER_NAME = "openvino_decoder_model.xml"
3232
OV_DECODER_WITH_PAST_NAME = "openvino_decoder_with_past_model.xml"
3333

34+
OV_TOKENIZER_NAME = "openvino_tokenizer{}.xml"
35+
OV_DETOKENIZER_NAME = "openvino_detokenizer{}.xml"
36+
3437
ONNX_WEIGHTS_NAME = "model.onnx"
3538
ONNX_ENCODER_NAME = "encoder_model.onnx"
3639
ONNX_DECODER_NAME = "decoder_model.onnx"

0 commit comments

Comments
 (0)