code: def test_multiview_encoder_w_cross_view_attention(
      self, fuse_in_descending_order
  ):
      self.cross_view_fusion = ml_collections.ConfigDict(
          {
              "type": "cross_view_attention",
              "use_query_config": True,
              "fusion_layers": (0,),
              "fuse_in_descending_order": fuse_in_descending_order,
          }
      )
      rngs = {"params": random.PRNGKey(0), "dropout": random.PRNGKey(1)}
      inputs = [jnp.ones((2, 4, 8)), jnp.ones((2, 8, 16))]
      temporal_dims = [2, 4]
      outputs, vars_dict = model.MultiviewEncoder(
          self.view_configs, self.cross_view_fusion, temporal_dims
      ).init_with_output(rngs, inputs, None)
      self.assertEqual(outputs[0].shape, (2, 4, 8))
      self.assertEqual(outputs[1].shape, (2, 8, 16))
      self.assertSetEqual(
          set(vars_dict["params"].keys()),
          {
              "posembed_input_view0",
              "posembed_input_view1",
              "cross_view_encoderblock_0",
          },
      )
  
imports: from absl.testing import parameterized
  import flax
  from jax import random
  import jax.numpy
  import ml_collections
  from scenic.projects.mtv import model
  import tensorflow
label_desc: Use image node_id 5 for calling the ModelTest obj's underlying member method code with example usage: obj.test_multiview_encoder_w_cross_view_attention(fuse_in_descending_order) without return types