docstr: Args:
      pixel_values (:obj:`numpy.ndarray` of shape :obj:`(batch_size, num_channels, height, width)`):
          Pixel values. Padding will be ignored by default should you provide it. Pixel values can be obtained
          using :class:`~transformers.ImageFeatureExtractionMixin`. See
          :meth:`transformers.ImageFeatureExtractionMixin.__call__` for details.
  
  Returns:
      image_features (:obj:`jnp.ndarray` of shape :obj:`(batch_size, output_dim`): The image embeddings
      obtained by applying the projection layer to the pooled output of vision model.
docstr_tok: ["Args",":","pixel_values","(",":","obj",":","`","numpy.ndarray","`","of","shape",":","obj",":","`","(","batch_size",",","num_channels",",","height",",","width",")","`",")",":","Pixel","values",".","Padding","will","be","ignored","by","default","should","you","provide","it",".","Pixel","values","can","be","obtained","using",":","class",":","`","~transformers.ImageFeatureExtractionMixin","`",".","See",":","meth",":","`","transformers.ImageFeatureExtractionMixin.__call__","`","for","details",".","Returns",":","image_features","(",":","obj",":","`","jnp.ndarray","`","of","shape",":","obj",":","`","(","batch_size",",","output_dim","`",")",":","The","image","embeddings","obtained","by","applying","the","projection","layer","to","the","pooled","output","of","vision","model","."]
code: def get_image_features(
      self,
      pixel_values,
      params: dict = None,
      dropout_rng: jax.random.PRNGKey = None,
      train=False,
  ):
      r"""
      Args:
          pixel_values (:obj:`numpy.ndarray` of shape :obj:`(batch_size, num_channels, height, width)`):
              Pixel values. Padding will be ignored by default should you provide it. Pixel values can be obtained
              using :class:`~transformers.ImageFeatureExtractionMixin`. See
              :meth:`transformers.ImageFeatureExtractionMixin.__call__` for details.
  
      Returns:
          image_features (:obj:`jnp.ndarray` of shape :obj:`(batch_size, output_dim`): The image embeddings
          obtained by applying the projection layer to the pooled output of vision model.
      """
  
      # Handle any PRNG if needed
      rngs = {}
      if dropout_rng is not None:
          rngs["dropout"] = dropout_rng
  
      def _get_features(module, pixel_values, deterministic):
          vision_outputs = module.vision_model(
              pixel_values=pixel_values, deterministic=deterministic
          )
          pooled_output = vision_outputs[1]  # pooled_output
          image_features = module.visual_projection(pooled_output)
          return image_features
  
      return self.module.apply(
          {"params": params or self.params},
          jnp.array(pixel_values, dtype=jnp.float32),
          not train,
          method=_get_features,
          rngs=rngs,
      )
  
imports: from typing import Optional, Tuple
  import flax.linen
  import jax
  import jax.numpy
  from configuration_hybrid_clip import HybridCLIPConfig
  from flax.core.frozen_dict import FrozenDict
  from transformers import FLAX_MODEL_MAPPING, FlaxCLIPVisionModel
  from transformers.modeling_flax_utils import FlaxPreTrainedModel
  from transformers.models.clip.modeling_flax_clip import FlaxCLIPOutput
  from transformers.utils import logging
label_desc: Use image node_id 5 for calling the FlaxHybridCLIP obj's underlying member method code with example usage: obj.get_image_features(pixel_values, params, dropout_rng, train) and returns: self, image_features