Fix DeepSeek-OCR for Transformers v4 (#41460)

Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
This commit is contained in:
Harry Mellor
2026-05-05 11:11:21 +00:00
committed by GitHub
parent 0a201b60cf
commit b0765bee17
@@ -101,7 +101,6 @@ else:
class DeepseekVLV2Config(PretrainedConfig):
model_type = "deepseek_vl_v2"
architectures: list[str] | None = None
tile_tag: str = "2D"
global_view_pos: str = "head"
@@ -114,17 +113,11 @@ class DeepseekVLV2Config(PretrainedConfig):
candidate_resolutions: tuple[tuple[int, int]] = ((384, 384),),
**kwargs,
):
if "architectures" not in kwargs:
kwargs["architectures"] = ["DeepseekVLV2ForCausalLM"]
architectures = kwargs.setdefault("architectures", ["DeepseekVLV2ForCausalLM"])
vision_config = kwargs.pop("vision_config", {})
self.vision_config = VisionEncoderConfig(**vision_config)
projector_config = kwargs.pop("projector_config", {})
self.projector_config = MlpProjectorConfig(**projector_config)
language_config = kwargs.pop("language_config", {})
self.text_config = DeepseekVLV2TextConfig(**language_config)
self.vision_config = VisionEncoderConfig(**kwargs.pop("vision_config", {}))
self.projector_config = MlpProjectorConfig(**kwargs.pop("projector_config", {}))
self.text_config = DeepseekVLV2TextConfig(**kwargs.pop("language_config", {}))
self.tile_tag = tile_tag
self.global_view_pos = global_view_pos
@@ -132,8 +125,8 @@ class DeepseekVLV2Config(PretrainedConfig):
self.vocab_size = self.text_config.vocab_size
# update model_type for OCR models
if "DeepseekOCRForCausalLM" in kwargs["architectures"]:
self.model_type = "deepseek_ocr"
elif "DeepseekOCR2ForCausalLM" in kwargs["architectures"]:
self.model_type = "deepseek_ocr2"
if "DeepseekOCRForCausalLM" in architectures:
kwargs["model_type"] = "deepseek_ocr"
elif "DeepseekOCR2ForCausalLM" in architectures:
kwargs["model_type"] = "deepseek_ocr2"
super().__init__(**kwargs)