code: def init_weights(
      self,
      rng: jax.random.PRNGKey,
      input_shape: Tuple,
      params: FrozenDict = None,
  ) -> FrozenDict:
      # init input tensor
      input_ids = jnp.zeros(input_shape[0], dtype="i4")
      position_ids = jnp.broadcast_to(
          jnp.arange(jnp.atleast_2d(input_ids).shape[-1]),
          input_shape[0],
      )
      token_type_ids = jnp.ones_like(input_ids)
      attention_mask = jnp.ones_like(input_ids)
  
      pixel_values = jax.random.normal(rng, input_shape[1])
  
      params_rng, dropout_rng = jax.random.split(rng)
      rngs = {"params": params_rng, "dropout": dropout_rng}
  
      random_params = self.module.init(
          rngs,
          input_ids,
          pixel_values,
          attention_mask,
          position_ids,
          token_type_ids,
      )["params"]
  
      if params is not None:
          random_params = flatten_dict(unfreeze(random_params))
          params = flatten_dict(unfreeze(params))
          for missing_key in self._missing_keys:
              params[missing_key] = random_params[missing_key]
          self._missing_keys = set()
          return freeze(unflatten_dict(params))
      else:
          return random_params
  
imports: from typing import Optional, Tuple
  import flax.linen
  import jax
  import jax.numpy
  from flax.core.frozen_dict import FrozenDict, freeze, unfreeze
  from flax.traverse_util import flatten_dict, unflatten_dict
  from ...modeling_flax_utils import FlaxPreTrainedModel, append_replace_return_docstrings, overwrite_call_docstring
  from ...utils import add_start_docstrings, logging
  from ..auto.configuration_auto import AutoConfig
  from ..auto.modeling_flax_auto import FLAX_MODEL_MAPPING, FlaxAutoModel
  from ..clip.modeling_flax_clip import FlaxCLIPOutput, FlaxCLIPVisionModel
  from .configuration_vision_text_dual_encoder import VisionTextDualEncoderConfig
label_desc: Use image node_id 2 for calling the FlaxVisionTextDualEncoderModel obj's underlying member method code with example usage: obj.init_weights(rng, input_shape, params) and returns: freeze, random_params