class_docstr: [`VisionTextDualEncoderConfig`] is the configuration class to store the configuration of a
  [`VisionTextDualEncoderModel`]. It is used to instantiate [`VisionTextDualEncoderModel`] model according to the
  specified arguments, defining the text model and vision model configs.
  
  Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
  documentation from [`PretrainedConfig`] for more information.
  
  Args:
      projection_dim (`int`, *optional*, defaults to 512):
          Dimentionality of text and vision projection layers.
      logit_scale_init_value (`float`, *optional*, defaults to 2.6592):
          The inital value of the *logit_scale* paramter. Default is used as per the original CLIP implementation.
      kwargs (*optional*):
          Dictionary of keyword arguments.
  
  Examples:
  
  ```python
  >>> from transformers import ViTConfig, BertConfig, VisionTextDualEncoderConfig, VisionTextDualEncoderModel
  
  >>> # Initializing a BERT and ViT configuration
  >>> config_vision = ViTConfig()
  >>> config_text = BertConfig()
  
  >>> config = VisionTextDualEncoderConfig.from_vision_text_configs(config_vision, config_text, projection_dim=512)
  
  >>> # Initializing a BERT and ViT model (with random weights)
  >>> model = VisionTextDualEncoderModel(config=config)
  
  >>> # Accessing the model configuration
  >>> config_vision = model.config.vision_config
  >>> config_text = model.config.text_config
  
  >>> # Saving the model, including its configuration
  >>> model.save_pretrained("vit-bert")
  
  >>> # loading model and config from pretrained folder
  >>> vision_text_config = VisionTextDualEncoderConfig.from_pretrained("vit-bert")
  >>> model = VisionTextDualEncoderModel.from_pretrained("vit-bert", config=vision_text_config)
  ```
code: def __init__(
      self, projection_dim=512, logit_scale_init_value=2.6592, **kwargs
  ):
      super().__init__(**kwargs)
  
      if "vision_config" not in kwargs:
          raise ValueError("`vision_config` can not be `None`.")
  
      if "text_config" not in kwargs:
          raise ValueError("`text_config` can not be `None`.")
  
      vision_config = kwargs.pop("vision_config")
      text_config = kwargs.pop("text_config")
  
      vision_model_type = vision_config.pop("model_type")
      text_model_type = text_config.pop("model_type")
  
      if vision_model_type == "clip":
          self.vision_config = AutoConfig.for_model(
              vision_model_type, **vision_config
          ).vision_config
      elif vision_model_type == "clip_vision_model":
          self.vision_config = CLIPVisionConfig(**vision_config)
      else:
          self.vision_config = AutoConfig.for_model(
              vision_model_type, **vision_config
          )
  
      self.text_config = AutoConfig.for_model(
          text_model_type, **text_config
      )
  
      self.projection_dim = projection_dim
      self.logit_scale_init_value = logit_scale_init_value
  
imports: from ...configuration_utils import PretrainedConfig
  from ...utils import logging
  from ..auto.configuration_auto import AutoConfig
  from ..clip.configuration_clip import CLIPVisionConfig
label_desc: Use image node_id 1 to create a new VisionTextDualEncoderConfig object from inherited base classes: PretrainedConfig with example: obj = VisionTextDualEncoderConfig(projection_dim, logit_scale_init_value)