class_docstr: RMS LayerNorm
docstr: Args:
      x (:obj:`torch.Tensor` of shape ``(batch_size, seq_len, dim_norm)``): Input tensor that need to be normalized.
  Return:
      :obj:`torch.Tensor` of shape ``(batch_size, seq_len, dim_norm)``: The layernorm output.
docstr_tok: ["Args",":","x","(",":","obj",":","`","torch.Tensor","`","of","shape","``","(","batch_size",",","seq_len",",","dim_norm",")","``",")",":","Input","tensor","that","need","to","be","normalized",".","Return",":",":","obj",":","`","torch.Tensor","`","of","shape","``","(","batch_size",",","seq_len",",","dim_norm",")","``",":","The","layernorm","output","."]
code: def forward(self, x: torch.Tensor):
      """
      Args:
          x (:obj:`torch.Tensor` of shape ``(batch_size, seq_len, dim_norm)``): Input tensor that need to be normalized.
      Return:
          :obj:`torch.Tensor` of shape ``(batch_size, seq_len, dim_norm)``: The layernorm output.
      """  # noqa: E501
      assert x.size(-1) == self.dim_norm
      return rms_layernorm(x, self.weight, self.eps)
  
imports: import torch
  import bmtrain
label_desc: Use image node_id 2 for calling the LayerNorm obj's underlying member method code with example usage: obj.forward(x) and returns: rms_layernorm