Unverified Commit f1cc6157 authored by amyeroberts's avatar amyeroberts Committed by GitHub
Browse files

[`Siglip`] protect from imports if sentencepiece not installed (#28737)

[Siglip] protect from imports if sentencepiece not installed
parent 03cc1777
...@@ -773,7 +773,6 @@ _import_structure = { ...@@ -773,7 +773,6 @@ _import_structure = {
"SiglipConfig", "SiglipConfig",
"SiglipProcessor", "SiglipProcessor",
"SiglipTextConfig", "SiglipTextConfig",
"SiglipTokenizer",
"SiglipVisionConfig", "SiglipVisionConfig",
], ],
"models.speech_encoder_decoder": ["SpeechEncoderDecoderConfig"], "models.speech_encoder_decoder": ["SpeechEncoderDecoderConfig"],
...@@ -1125,6 +1124,7 @@ else: ...@@ -1125,6 +1124,7 @@ else:
_import_structure["models.reformer"].append("ReformerTokenizer") _import_structure["models.reformer"].append("ReformerTokenizer")
_import_structure["models.rembert"].append("RemBertTokenizer") _import_structure["models.rembert"].append("RemBertTokenizer")
_import_structure["models.seamless_m4t"].append("SeamlessM4TTokenizer") _import_structure["models.seamless_m4t"].append("SeamlessM4TTokenizer")
_import_structure["models.siglip"].append("SiglipTokenizer")
_import_structure["models.speech_to_text"].append("Speech2TextTokenizer") _import_structure["models.speech_to_text"].append("Speech2TextTokenizer")
_import_structure["models.speecht5"].append("SpeechT5Tokenizer") _import_structure["models.speecht5"].append("SpeechT5Tokenizer")
_import_structure["models.t5"].append("T5Tokenizer") _import_structure["models.t5"].append("T5Tokenizer")
...@@ -5503,7 +5503,6 @@ if TYPE_CHECKING: ...@@ -5503,7 +5503,6 @@ if TYPE_CHECKING:
SiglipConfig, SiglipConfig,
SiglipProcessor, SiglipProcessor,
SiglipTextConfig, SiglipTextConfig,
SiglipTokenizer,
SiglipVisionConfig, SiglipVisionConfig,
) )
from .models.speech_encoder_decoder import SpeechEncoderDecoderConfig from .models.speech_encoder_decoder import SpeechEncoderDecoderConfig
...@@ -5852,6 +5851,7 @@ if TYPE_CHECKING: ...@@ -5852,6 +5851,7 @@ if TYPE_CHECKING:
from .models.reformer import ReformerTokenizer from .models.reformer import ReformerTokenizer
from .models.rembert import RemBertTokenizer from .models.rembert import RemBertTokenizer
from .models.seamless_m4t import SeamlessM4TTokenizer from .models.seamless_m4t import SeamlessM4TTokenizer
from .models.siglip import SiglipTokenizer
from .models.speech_to_text import Speech2TextTokenizer from .models.speech_to_text import Speech2TextTokenizer
from .models.speecht5 import SpeechT5Tokenizer from .models.speecht5 import SpeechT5Tokenizer
from .models.t5 import T5Tokenizer from .models.t5 import T5Tokenizer
......
...@@ -16,6 +16,7 @@ from typing import TYPE_CHECKING ...@@ -16,6 +16,7 @@ from typing import TYPE_CHECKING
from ...utils import ( from ...utils import (
OptionalDependencyNotAvailable, OptionalDependencyNotAvailable,
_LazyModule, _LazyModule,
is_sentencepiece_available,
is_torch_available, is_torch_available,
is_vision_available, is_vision_available,
) )
...@@ -29,9 +30,17 @@ _import_structure = { ...@@ -29,9 +30,17 @@ _import_structure = {
"SiglipVisionConfig", "SiglipVisionConfig",
], ],
"processing_siglip": ["SiglipProcessor"], "processing_siglip": ["SiglipProcessor"],
"tokenization_siglip": ["SiglipTokenizer"],
} }
try:
if not is_sentencepiece_available():
raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
pass
else:
_import_structure["tokenization_siglip"] = ["SiglipTokenizer"]
try: try:
if not is_vision_available(): if not is_vision_available():
raise OptionalDependencyNotAvailable() raise OptionalDependencyNotAvailable()
...@@ -63,7 +72,14 @@ if TYPE_CHECKING: ...@@ -63,7 +72,14 @@ if TYPE_CHECKING:
SiglipVisionConfig, SiglipVisionConfig,
) )
from .processing_siglip import SiglipProcessor from .processing_siglip import SiglipProcessor
from .tokenization_siglip import SiglipTokenizer
try:
if not is_sentencepiece_available():
raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
pass
else:
from .tokenization_siglip import SiglipTokenizer
try: try:
if not is_vision_available(): if not is_vision_available():
......
...@@ -184,6 +184,13 @@ class SeamlessM4TTokenizer(metaclass=DummyObject): ...@@ -184,6 +184,13 @@ class SeamlessM4TTokenizer(metaclass=DummyObject):
requires_backends(self, ["sentencepiece"]) requires_backends(self, ["sentencepiece"])
class SiglipTokenizer(metaclass=DummyObject):
_backends = ["sentencepiece"]
def __init__(self, *args, **kwargs):
requires_backends(self, ["sentencepiece"])
class Speech2TextTokenizer(metaclass=DummyObject): class Speech2TextTokenizer(metaclass=DummyObject):
_backends = ["sentencepiece"] _backends = ["sentencepiece"]
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment