rasa.utils.tensorflow.transformer

MultiHeadAttention Objects

class MultiHeadAttention(tf.keras.layers.Layer)

Multi-headed attention layer.

Arguments:

call

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

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

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]