rasa.utils.tensorflow.transformer

You are viewing documentation for our open source project which is maintained by the community. If you want to get started building assistants with Rasa please check out our latest documentation here.

MultiHeadAttention Objects #

class MultiHeadAttention(tf.keras.layers.Layer)

Multi-headed attention layer.

Arguments:

call #


def call(
    query_input: tf.Tensor,
    source_input: tf.Tensor,
    pad_mask: Optional[tf.Tensor]=None,
    training: Optional[Union[tf.Tensor,bool]]=None
) -> Tuple[tf.Tensor, tf.Tensor]:

Apply attention mechanism to query_input and source_input.

Arguments:

Returns:

Attention layer output with shape [batch_size, length, units]

TransformerEncoderLayer Objects #

class TransformerEncoderLayer(tf.keras.layers.Layer)

Transformer encoder layer.

The layer is composed of the sublayers:

  1. Self-attention layer
  2. Feed-forward network (which is 2 fully-connected layers)

Arguments:

call #


def call(
    x: tf.Tensor,
    pad_mask: Optional[tf.Tensor]=None,
    training: Optional[Union[tf.Tensor,bool]]=None
) -> Tuple[tf.Tensor, tf.Tensor]:

Apply transformer encoder layer.

Arguments:

Returns:

Transformer encoder layer output with shape [batch_size, length, units]

TransformerEncoder Objects #

class TransformerEncoder(tf.keras.layers.Layer)

Transformer encoder.

Encoder stack is made up of num_layers identical encoder layers.

Arguments:

call #


def call(
    x: tf.Tensor,
    pad_mask: Optional[tf.Tensor]=None,
    training: Optional[Union[tf.Tensor,bool]]=None
) -> Tuple[tf.Tensor, tf.Tensor]:

Apply transformer encoder.

Arguments:

Returns:

Transformer encoder output with shape [batch_size, length, units]