class_docstr: Adds adapters to the CLIPModel class.
code: def _init_adapters_submodules(self, model_config, adapters_config):
      # Initialize adapters in text and vision model separately
      for module in self.text_model.modules():
          if hasattr(module, "init_adapters"):
              module.init_adapters(
                  model_config.text_config, adapters_config
              )
      for module in self.vision_model.modules():
          if hasattr(module, "init_adapters"):
              module.init_adapters(
                  model_config.vision_config, adapters_config
              )
  
imports: from typing import Iterable, Tuple
  import torch.nn
  from ...composition import adjust_tensors_for_parallel_
  from ...methods.bottleneck import BottleneckLayer
  from ...methods.lora import LoRALinear
  from ...methods.prefix_tuning import PrefixTuningLayer
  from ...model_mixin import EmbeddingAdaptersMixin, EmbeddingAdaptersWrapperMixin, InvertibleAdaptersMixin, InvertibleAdaptersWrapperMixin, ModelBaseAdaptersMixin
label_desc: Use image node_id 2 for calling the CLIPModelAdaptersMixin obj's underlying member method code with example usage: obj._init_adapters_submodules(model_config, adapters_config) without return types