code: def setUp(self):
      super().setUp()
      self.images = jnp.ones((2, 4, 8, 8, 3))
      self.text_inputs = {
          "input_word_ids": jnp.ones((2, 10, 8), dtype=jnp.int32),
          "input_type_ids": jnp.zeros((2, 10, 8), dtype=jnp.int32),
          "input_mask": jnp.ones((2, 10, 8), dtype=jnp.int32),
      }
      self.caption = {
          "input_word_ids": jnp.ones((2, 2, 10), dtype=jnp.int32),
          "input_type_ids": jnp.zeros((2, 2, 10), dtype=jnp.int32),
          "input_mask": jnp.ones((2, 2, 10), dtype=jnp.int32),
      }
      self.video_title = {
          "input_word_ids": jnp.ones((2, 10), dtype=jnp.int32),
          "input_type_ids": jnp.zeros((2, 10), dtype=jnp.int32),
          "input_mask": jnp.ones((2, 10), dtype=jnp.int32),
      }
      self.text_emb_inputs = jnp.ones((2, 10, 8), dtype=jnp.float32)
      self.caption_emb_inputs = jnp.ones((2, 1, 8), dtype=jnp.float32)
      self.inputs = {
          "rgb": self.images,
          "class_names": self.text_inputs,
          "caption": self.caption,
          "video_title": self.video_title,
      }
      self.clip_video_tower_config = ml_collections.ConfigDict(
          {
              "modality_configs": {
                  "rgb": ml_collections.ConfigDict(
                      {
                          "encoder_name": "clip_video_encoder",
                          "encoder_config": ml_collections.ConfigDict(
                              {
                                  "num_classes": -1,
                                  "image_encoder_config": ml_collections.ConfigDict(
                                      dict(
                                          patches=ml_collections.ConfigDict(
                                              {"size": (4, 4, 1)}
                                          ),
                                          features=8,
                                          num_layers=2,
                                          num_heads=2,
                                      )
                                  ),
                                  "temporal_encoding_config": ml_collections.ConfigDict(
                                      {
                                          "method": "3d_conv",
                                          "kernel_init_method": "central_frame_initializer",
                                      }
                                  ),
                                  "temporal_encoder_config": None,
                                  "final_endpoint": "temporal_tokens",
                                  "classifier": "token",
                              }
                          ),
                          "projection_size": 8,
                          "projection_use_bias": False,
                      }
                  )
              }
          }
      )
      self.clip_text_tower_config = ml_collections.ConfigDict(
          {
              "encoder_name": "clip_text_encoder",
              "encoder_config": ml_collections.ConfigDict(
                  dict(
                      vocab_size=100,
                      num_layers=2,
                      hidden_size=8,
                      num_heads=2,
                      classifier="eos",
                  )
              ),
              "projection_size": 8,
              "projection_use_bias": False,
          }
      )
      self.pass_through_encoder_config = ml_collections.ConfigDict(
          {
              "encoder_name": "pass_through_encoder",
              "encoder_config": {},
              "input_type": "text_emb",
          }
      )
      self.video_textemb_fusion_encoder_config = ml_collections.ConfigDict(
          {
              "self_attention_encoder_config": ml_collections.ConfigDict(
                  {
                      "num_heads": 2,
                      "mlp_dim": 16,
                      "num_layers": 1,
                      "dropout_rate": 0.0,
                      "attention_dropout_rate": 0.0,
                      "stochastic_depth": 0.1,
                  }
              ),
              "self_attention_encoder_name": "transformer",
          }
      )
  
file_path: scenic/scenic/projects/unloc/model_test.py
imports: import copy
  from absl.testing import parameterized
  import flax
  from jax import random
  import jax.numpy
  import ml_collections
  from scenic.projects.unloc import model
  import tensorflow
label_desc: Use image node_id 1 for calling the ModelTest obj's underlying member method code with example usage: obj.setUp() without return types