class_docstr: EmbeddingBag Layer.
  
  See [PyTorch op](https://pytorch.org/docs/stable/generated/torch.nn.EmbeddingBag.html).
  
  Equivalent to tf.gather() followed by tf.reduce_sum() across the last dimension, with optional
  weights. Fusing these into a single op has massive benefits for execution speed and particularly
  memory usage, as the intermediate output of the gather never needs to be materialized.
  
  Input Shapes:
    indices: An int32 or int64 `Tensor` of the indices to gather from
        `params`. Must be at least 2-dimensional, as the last dimension
        will be summed out. Maximum value must be less than params.shape[0].
    params: A float32 `Tensor` from which to gather params. Must be rank 2.
    weights: A float32 `Tensor` of weights which will be applied to each of
        the gathered embedding vectors before the sum step.
  
  Output shape:
      indices.shape[:-1], params.shape[-1]
code: def call(self, indices, weights=None):
      return _embedding_bag(
          indices, self.embeddings, weights, combiner=self.combiner
      )
  
file_path: addons/tensorflow_addons/layers/embedding_bag.py
imports: import tensorflow
  from typeguard import typechecked
  from tensorflow_addons.utils.types import Constraint, Initializer, Regularizer
  from tensorflow_addons.utils.resource_loader import LazySO
label_desc: Use image node_id 3 for calling the EmbeddingBag obj's underlying member method code with example usage: obj.call(indices, weights) and returns: _embedding_bag