code: def _FeedForwardBlock(
      d_model, d_ff, dropout, dropout_shared_axes, mode, activation
  ):
      """Returns a list of layers that implements a feedforward block.
  
      Args:
        d_model: Last/innermost dimension of activation arrays at most points in
            the model, including the initial embedding output.
        d_ff: Last/innermost dimension of special (typically wider)
            :py:class:`Dense` layer in the feedforward part of each block.
        dropout: Stochastic rate (probability) for dropping an activation value
            when applying dropout within a block.
        dropout_shared_axes: Tensor axes on which to share a dropout mask.
            Sharing along batch and sequence axes (``dropout_shared_axes=(0,1)``)
            is a useful way to save memory and apply consistent masks to activation
            vectors at different sequence positions.
        mode: If ``'train'``, each block will include dropout; else, it will
            pass all values through unaltered.
        activation: Type of activation function at the end of each block; must
            be an activation-type subclass of :py:class:`Layer`.
  
      Returns:
        A list of layers that maps vectors to vectors.
      """
  
      def _Dropout():
          return tl.Dropout(
              rate=dropout, shared_axes=dropout_shared_axes, mode=mode
          )
  
      return [
          tl.Dense(d_ff),
          activation(),
          _Dropout(),
          tl.Dense(d_model),
      ]
  
file_path: trax/trax/models/transformer.py
imports: from trax import layers
label_desc: Use image node_id 8 for calling a global function with example usage: _FeedForwardBlock(d_model, d_ff, dropout, dropout_shared_axes, mode, activation) and returns: list, tl