matilda-jev-v1 / processing_matilda_jev.py
yue-maincode's picture
MATILDA-jev v1 — current release
d10ad42
Raw History Blame Contribute Delete
1.54 kB
"""MATILDA multimodal aliases with an explicit loader for the frozen preprocessing configuration."""
from transformers.models.qwen2_vl.image_processing_qwen2_vl import Qwen2VLImageProcessor
from transformers.models.qwen3_vl.processing_qwen3_vl import Qwen3VLProcessor
from transformers.models.qwen3_vl.video_processing_qwen3_vl import Qwen3VLVideoProcessor
from .tokenization_matilda_jev import MatildaJevTokenizer
class MatildaJevImageProcessor(Qwen2VLImageProcessor):
pass
class MatildaJevVideoProcessor(Qwen3VLVideoProcessor):
pass
class MatildaJevProcessor(Qwen3VLProcessor):
@classmethod
def _get_arguments_from_pretrained(cls, pretrained_model_name_or_path, processor_dict=None, **kwargs):
if processor_dict is None:
raise ValueError("MATILDA requires its processor_config.json")
image = dict(processor_dict["image_processor"])
video = dict(processor_dict["video_processor"])
image.pop("image_processor_type", None)
video.pop("video_processor_type", None)
image.pop("auto_map", None)
video.pop("auto_map", None)
tokenizer = MatildaJevTokenizer.from_pretrained(pretrained_model_name_or_path, **kwargs)
components = {
"image_processor": MatildaJevImageProcessor(**image),
"tokenizer": tokenizer,
"video_processor": MatildaJevVideoProcessor(**video),
}
return [components[name] for name in cls.get_attributes()]
MatildaJevProcessor.register_for_auto_class("AutoProcessor")