class_docstr: This is an implementation of transformer language model.
  
  The architecture is based on the paper "Attention Is All You Need": https://arxiv.org/pdf/1706.03762.pdf
  
  Arguments
  ----------
  d_model : int
      The number of expected features in the encoder/decoder inputs (default=512).
  nhead : int
      The number of heads in the multiheadattention models (default=8).
  num_encoder_layers : int
      The number of sub-encoder-layers in the encoder (default=6).
  num_decoder_layers : int
      The number of sub-decoder-layers in the decoder (default=6).
  dim_ffn : int
      The dimension of the feedforward network model (default=2048).
  dropout : int
      The dropout value (default=0.1).
  activation: torch class
      The activation function of encoder/decoder intermediate layer, relu or gelu (default=relu).
  decoder_use_memory: bool
      whether to use the hidden state in the decoder
  
  Example
  -------
  >>> src = torch.randint(0, 720, [8, 120])
  >>> net = TransformerLM(720, 512, 8, 1, 0, 1024, activation=torch.nn.GELU)
  >>> enc_out = net.forward(src)
  >>> print(enc_out.shape)
  torch.Size([8, 120, 720])
code: def _reset_params(self):
      for p in self.parameters():
          if p.dim() > 1:
              torch.nn.init.xavier_normal_(p)
  
file_path: speechbrain/speechbrain/lobes/models/transformer/TransformerLM.py
imports: import torch
  from torch import nn
  from speechbrain.nnet.linear import Linear
  from speechbrain.nnet.normalization import LayerNorm
  from speechbrain.nnet.containers import ModuleList
  from speechbrain.lobes.models.transformer.Transformer import TransformerInterface, get_lookahead_mask, get_key_padding_mask, NormalizedEmbedding
label_desc: Use image node_id 3 for calling the TransformerLM obj's underlying member method code with example usage: obj._reset_params() without return types