o
    
Û¾iÙ  ã                   @  sP   d dl mZ d dlmZ d dlmZ G dd„ deƒZG dd„ deƒZddgZdS )	é    )Úannotations)ÚQwen3Config)ÚSiglip2VisionConfigc                      s0   e Zd ZdZdZdZ		dd‡ fd	d
„Z‡  ZS )ÚPixelShuffleSiglip2VisionConfigzŠVision configuration for Isaac with Pixel Shuffle support.

    Extends Siglip2VisionConfig with additional fields for pixel shuffle.
    Úpixel_shuffle_siglip2Úvision_configé   é   Úpixel_shuffle_scale_factorÚintÚnum_patchesc                   s"   t ƒ jdi |¤Ž || _|| _d S )N© )ÚsuperÚ__init__r
   r   )Úselfr
   r   Úkwargs©Ú	__class__r   úY/home/ubuntu/.local/lib/python3.10/site-packages/vllm/transformers_utils/configs/isaac.pyr      s   
z(PixelShuffleSiglip2VisionConfig.__init__)r   r	   )r
   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typeÚbase_config_keyr   Ú__classcell__r   r   r   r   r   	   s    ýr   c                      sD   e Zd ZdZdZeedœZ										dd‡ fdd„Z‡  Z	S )ÚIsaacConfigz/Configuration class for Isaac multimodal model.Úisaac)r   Útext_configNé   r	   r   é @  ú<image>Úvision_patch_sizer   Úvision_max_num_patchesÚvision_min_num_patchesú
int | NoneÚpixel_shuffle_scaleÚmax_sequence_lengthÚvision_tokenÚstrÚvision_attn_implementationú
str | Nonec
                   sà   t ƒ jdi |
¤Ž t|tƒr| jd di |¤Ž| _n|d u r*| jd di |
¤Ž| _n|| _|| _|| _|| _|| _	|| _
|| _t|tƒrMtdi |¤Ž| _n|d u rVtƒ | _n|| _t| jd|ƒ| j_t| jd|ƒ| j_|	| _d S )Nr   r
   r   r   )r   r   Ú
isinstanceÚdictÚsub_configsr   Úvideo_patch_sizer#   r$   r&   r'   r(   r   r   Úgetattrr
   r   r*   )r   r   r   r"   r#   r$   r&   r'   r(   r*   r   r   r   r   r   (   s8   


ýý
zIsaacConfig.__init__)	NNr   r	   Nr   r    r!   N)r"   r   r#   r   r$   r%   r&   r   r'   r   r(   r)   r*   r+   )
r   r   r   r   r   r   r   r.   r   r   r   r   r   r   r      s     þör   N)	Ú
__future__r   Útransformersr   Ú1transformers.models.siglip2.configuration_siglip2r   r   r   Ú__all__r   r   r   r   Ú<module>   s   Cþ