class_docstr: Embeds batches of token IDs into feature space.
  
  Attributes:
    vocab_size: The size of the vocabulary (i.e., the number of embeddings).
    embedding_size: The dimensionality of the embeddings.
    embedding_init: The initializer used to initialize the embeddings.
    frozen: Freezes the embeddings table, keeping it fixed at initial values.
    dropout_rate: Percentage of units to drop after embedding the inputs.
    word_dropout_rate: Percentage of input words to replace with unk_idx.
    unk_idx: The index (integer) to use to replace inputs for word dropout.
docstr: Embeds the input sequences and applies word dropout and dropout.
  
  Args:
    inputs: Batch of input token ID sequences <int64>[batch_size, seq_length].
    deterministic: Disables dropout when set to True.
  
  Returns:
    The embedded inputs, shape: <float32>[batch_size, seq_length,
    embedding_size].
code: def __call__(
      self, inputs: Array, deterministic: Optional[bool] = None
  ) -> Array:
      """Embeds the input sequences and applies word dropout and dropout.
  
      Args:
        inputs: Batch of input token ID sequences <int64>[batch_size, seq_length].
        deterministic: Disables dropout when set to True.
  
      Returns:
        The embedded inputs, shape: <float32>[batch_size, seq_length,
        embedding_size].
      """
      deterministic = nn.module.merge_param(
          "deterministic", self.deterministic, deterministic
      )
      inputs = self.word_dropout_layer(
          inputs, deterministic=deterministic
      )
      embedded_inputs = self.embedding[inputs]
  
      # Keep the embeddings fixed at initial (e.g. pretrained) values.
      if self.frozen:
          embedded_inputs = jax.lax.stop_gradient(embedded_inputs)
  
      return self.dropout_layer(
          embedded_inputs, deterministic=deterministic
      )
  
imports: import functools
  from typing import Any, Callable, Optional
  from flax import linen
  import jax
  from jax import numpy
label_desc: Use image node_id 2 for calling the Embedder obj's underlying member method code with example usage: obj.__call__(inputs, deterministic) and returns: self