class_docstr: Clip model consisting of a vision and text transformer.
  
  Attributes:
    vocab_size: Size of the vocabulary.
    embed_dim: Size of the text and vision embeddings.
    text_features: Number of features in text transformer.
    text_num_layers: Number of text transformer blocks (self-attn + MLP).
    text_num_heads: Number of heads in text transformer.
    vision_features: Number of features in vision transformer.
    vision_num_layers: Number of vision transformer blocks (self-attn + MLP).
    vision_patch_size: Size of patches to embed in vision transformer.
class_docstr_tok: ["Clip","model","consisting","of","a","vision","and","text","transformer",".","Attributes",":","vocab_size",":","Size","of","the","vocabulary",".","embed_dim",":","Size","of","the","text","and","vision","embeddings",".","text_features",":","Number","of","features","in","text","transformer",".","text_num_layers",":","Number","of","text","transformer","blocks","(","self-attn","+","MLP",")",".","text_num_heads",":","Number","of","heads","in","text","transformer",".","vision_features",":","Number","of","features","in","vision","transformer",".","vision_num_layers",":","Number","of","vision","transformer","blocks","(","self-attn","+","MLP",")",".","vision_patch_size",":","Size","of","patches","to","embed","in","vision","transformer","."]
code: def encode_text(
      self,
      text: jnp.ndarray,
      normalize: bool = True,
      *,
      deterministic: bool = True,
  ) -> jnp.ndarray:
      x = self.text(text, deterministic=deterministic)
      if normalize:
          x /= jnp.linalg.norm(x, axis=-1, keepdims=True)
      return x
  
imports: import functools
  from typing import Sequence, Optional, Union, Tuple
  import flax.linen
  import jax
  import jax.numpy
label_desc: Use image node_id 3 for calling the CLIP obj's underlying member method code with example usage: obj.encode_text(text, normalize) and returns: x