code: def check_vision_text_dual_encoder_model(
      self,
      text_config,
      input_ids,
      attention_mask,
      vision_config,
      pixel_values=None,
      **kwargs,
  ):
      vision_model, text_model = self.get_vision_text_model(
          vision_config, text_config
      )
      model = TFVisionTextDualEncoderModel(
          vision_model=vision_model, text_model=text_model
      )
  
      output = model(
          input_ids=input_ids,
          pixel_values=pixel_values,
          attention_mask=attention_mask,
      )
  
      self.assertEqual(
          output["text_embeds"].shape,
          (input_ids.shape[0], model.config.projection_dim),
      )
      self.assertEqual(
          output["image_embeds"].shape,
          (pixel_values.shape[0], model.config.projection_dim),
      )
  
imports: from __future__ import annotations
  import collections
  import tempfile
  import unittest
  import numpy
  from transformers.testing_utils import require_tf, require_vision, slow
  from transformers.utils import is_tf_available, is_vision_available
  from ...test_modeling_tf_common import floats_tensor, ids_tensor, random_attention_mask
  from ..bert.test_modeling_tf_bert import TFBertModelTester
  from ..clip.test_modeling_tf_clip import TFCLIPVisionModelTester
  from ..deit.test_modeling_tf_deit import TFDeiTModelTester
  from ..roberta.test_modeling_tf_roberta import TFRobertaModelTester
  from ..vit.test_modeling_tf_vit import TFViTModelTester
label_desc: Use image node_id 5 for calling the TFVisionTextDualEncoderMixin obj's underlying member method code with example usage: obj.check_vision_text_dual_encoder_model(text_config, input_ids, attention_mask, vision_config, pixel_values) without return types