google/tipsv1-s14
2363
1"""TIPSv2 model configuration."""2 3from transformers import PretrainedConfig4 5 6_VISION_FN_BY_GEOMETRY = {7 (384, 12): "vit_small",8 (768, 12): "vit_base",9 (1024, 24): "vit_large",10 (1152, 27): "vit_so400m",11 (1536, 40): "vit_giant2",12}13 14 15class TIPSv2Config(PretrainedConfig):16 """Configuration for TIPSv2 vision-language model."""17 18 model_type = "tipsv2"19 20 def __init__(21 self,22 vision_config=None,23 text_config=None,24 temperature_init_value=0.01,25 **kwargs,26 ):27 super().__init__(**kwargs)28 vision_config = vision_config or {}29 text_config = text_config or {}30 hidden_size = vision_config.get("hidden_size", 768)31 num_hidden_layers = vision_config.get("num_hidden_layers", 12)32 self.vision_fn = _VISION_FN_BY_GEOMETRY[(hidden_size, num_hidden_layers)]33 self.embed_dim = hidden_size34 self.patch_size = vision_config.get("patch_size", 14)35 self.img_size = vision_config.get("image_size", 448)36 self.ffn_layer = "swiglu" if vision_config.get("use_swiglu_ffn", False) else "mlp"37 self.init_values = vision_config.get("layerscale_value", 1.0)38 self.num_register_tokens = vision_config.get("num_register_tokens", 1)39 self.text_hidden_size = text_config.get("hidden_size", 768)40 self.text_mlp_dim = text_config.get("intermediate_size", 3072)41 self.text_num_heads = text_config.get("num_attention_heads", 12)42 self.text_num_layers = text_config.get("num_hidden_layers", 12)43 self.vocab_size = text_config.get("vocab_size", 32000)44 self.max_len = text_config.get("max_position_embeddings", 64)45 self.temperature = temperature_init_value46 