|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
""" |
|
|
Image/Text processor class for CLIP |
|
|
""" |
|
|
|
|
|
import warnings |
|
|
|
|
|
from ...processing_utils import ProcessorMixin |
|
|
|
|
|
|
|
|
class CLIPProcessor(ProcessorMixin): |
|
|
r""" |
|
|
Constructs a CLIP processor which wraps a CLIP image processor and a CLIP tokenizer into a single processor. |
|
|
|
|
|
[`CLIPProcessor`] offers all the functionalities of [`CLIPImageProcessor`] and [`CLIPTokenizerFast`]. See the |
|
|
[`~CLIPProcessor.__call__`] and [`~CLIPProcessor.decode`] for more information. |
|
|
|
|
|
Args: |
|
|
image_processor ([`CLIPImageProcessor`], *optional*): |
|
|
The image processor is a required input. |
|
|
tokenizer ([`AutoTokenizer`], *optional*): |
|
|
The tokenizer is a required input. |
|
|
""" |
|
|
|
|
|
attributes = ["image_processor", "tokenizer"] |
|
|
image_processor_class = ("CLIPImageProcessor", "CLIPImageProcessorFast") |
|
|
tokenizer_class = "AutoTokenizer" |
|
|
|
|
|
def __init__(self, image_processor=None, tokenizer=None, **kwargs): |
|
|
feature_extractor = None |
|
|
if "feature_extractor" in kwargs: |
|
|
warnings.warn( |
|
|
"The `feature_extractor` argument is deprecated and will be removed in v5, use `image_processor`" |
|
|
" instead.", |
|
|
FutureWarning, |
|
|
) |
|
|
feature_extractor = kwargs.pop("feature_extractor") |
|
|
|
|
|
image_processor = image_processor if image_processor is not None else feature_extractor |
|
|
|
|
|
super().__init__(image_processor, tokenizer) |
|
|
|
|
|
@property |
|
|
def feature_extractor_class(self): |
|
|
warnings.warn( |
|
|
"`feature_extractor_class` is deprecated and will be removed in v5. Use `image_processor_class` instead.", |
|
|
FutureWarning, |
|
|
) |
|
|
return self.image_processor_class |
|
|
|
|
|
@property |
|
|
def feature_extractor(self): |
|
|
warnings.warn( |
|
|
"`feature_extractor` is deprecated and will be removed in v5. Use `image_processor` instead.", |
|
|
FutureWarning, |
|
|
) |
|
|
return self.image_processor |
|
|
|
|
|
|
|
|
__all__ = ["CLIPProcessor"] |
|
|
|