Image-Text-to-Text
Transformers
Safetensors
English
qwen2_5vl_ca
feature-extraction
conversational
custom_code
CASA-Qwen2_5-VL-3B / configuration_qwen2_5vl_ca.py
ameroyer's picture nielsr's picture
nielsr HF Staff
Super-squash branch 'main' using huggingface_hub
5f7de59
Raw History Blame
1.17 kB
from typing import Any
from transformers.models.qwen2_5_vl.configuration_qwen2_5_vl import Qwen2_5_VLConfig
class Qwen2_5_VLCAConfig(Qwen2_5_VLConfig):
"""Qwen2.5-VL config augmented with cross-attention options"""
model_type = "qwen2_5vl_ca"
def __init__(
self,
*args: Any,
# Our fusion mechanism
xa_layers: None | tuple = None,
cross_attention: bool = False,
xa_share_qkvo: bool = False,
**kwargs: Any,
):
super().__init__(*args, **kwargs)
self.head_dim = self.hidden_size // self.num_attention_heads
# Our fusion mechanisms
self.xa_layers = xa_layers
self.cross_attention = cross_attention
self.xa_share_qkvo = xa_share_qkvo
# Derived from vision_start/end_token_id set by parent
self.pre_image_tokens = (
[self.vision_start_token_id]
if getattr(self, "vision_start_token_id", None) is not None
else []
)
self.post_image_tokens = (
[self.vision_end_token_id]
if getattr(self, "vision_end_token_id", None) is not None
else []
)