code: def __init__(
      self,
      num_layers: int,
      num_heads: int,
      feed_forward_dim: int,
      embedding_shape_encoder: Tuple[int, int],
      embedding_shape_decoder: Tuple[int, int],
      embedding_encoder_trainable=True,
      embedding_decoder_trainable=True,
      embedding_weights_encoder=None,
      embedding_weights_decoder=None,
      dropout_rate=0.1,
      max_sequence_len=10000,
  ) -> None:
      super(Transformer, self).__init__()
  
      self.encoder = Encoder(
          num_layers,
          num_heads,
          feed_forward_dim,
          embedding_shape_encoder,
          embedding_trainable=embedding_encoder_trainable,
          embedding_weights=embedding_weights_encoder,
          dropout_rate=dropout_rate,
          max_seq_len=max_sequence_len,
      )
  
      self.decoder = Decoder(
          num_layers,
          num_heads,
          feed_forward_dim,
          embedding_shape_decoder,
          embedding_trainable=embedding_decoder_trainable,
          embedding_weights=embedding_weights_decoder,
          dropout_rate=dropout_rate,
          max_seq_len=max_sequence_len,
      )
  
      self.final_layer = tf.keras.layers.Dense(
          embedding_shape_decoder[0]
      )
  
file_path: headliner/headliner/model/transformer_model.py
imports: from typing import Tuple
  from headliner.model.transformer_util import *
label_desc: Use image node_id 1 to create a new Transformer object from inherited base classes: tf.keras with example: obj = Transformer(num_layers, num_heads, feed_forward_dim, embedding_shape_encoder, embedding_shape_decoder, embedding_encoder_trainable, embedding_decoder_trainable, embedding_weights_encoder, embedding_weights_decoder, dropout_rate, max_sequence_len)