class_docstr: ## Auto-Regressive model
  
  This is an autoregressive transformer model that uses Feed-Forward Networks with
   (Fuzzy Tiling Activations)(index.html).
class_docstr_tok: ["#","#","Auto-Regressive","model","This","is","an","autoregressive","transformer","model","that","uses","Feed-Forward","Networks","with","(","Fuzzy","Tiling","Activations",")","(","index.html",")","."]
docstr: :param x: are the input tokens of shape `[seq_len, batch_size]`
docstr_tok: [":","param","x",":","are","the","input","tokens","of","shape","`","[","seq_len",",","batch_size","]","`"]
code: def forward(self, x: torch.Tensor):
      """
      :param x: are the input tokens of shape `[seq_len, batch_size]`
      """
      # Create auto-regressive mask
      if self.mask is None or self.mask.size(0) != len(x):
          # Subsequent mask, will mask out tokens from seeing future tokens
          self.mask = subsequent_mask(len(x)).to(x.device)
  
      # Get the token embeddings
      x = self.emb(x)
      # Transformer encoder
      for layer in self.transformer_layers:
          x = layer(x=x, mask=self.mask)
      # Get logits
      x = self.readout(x)
  
      # Return results
      return x, None
  
imports: import copy
  import torch
  import torch.nn
  from labml import experiment
  from labml.configs import option
  from labml_helpers.module import Module
  from labml_nn.activations.fta import FTA
  from labml_nn.experiments.nlp_autoregression import NLPAutoRegressionConfigs
  from labml_nn.transformers import MultiHeadAttention, TransformerLayer
  from labml_nn.transformers.utils import subsequent_mask
label_desc: Use image node_id 2 for calling the AutoregressiveTransformer obj's underlying member method code with example usage: obj.forward(x) and returns: x,  None