class_docstr: Applies group normalization to the input tensor.
  
  Arguments
  ---------
  input_shape : tuple
      The expected shape of the input. Alternatively, use ``input_size``.
  input_size : int
      The expected size of the input. Alternatively, use ``input_shape``.
  num_groups : int
      Number of groups to separate the channels into.
  eps : float
      This value is added to std deviation estimation to improve the numerical
      stability.
  affine : bool
       A boolean value that when set to True, this module has learnable per-channel
       affine parameters initialized to ones (for weights) and zeros (for biases).
  Example
  -------
  >>> input = torch.randn(100, 101, 128)
  >>> norm = GroupNorm(input_size=128, num_groups=128)
  >>> output = norm(input)
  >>> output.shape
  torch.Size([100, 101, 128])
class_docstr_tok: ["Applies","group","normalization","to","the","input","tensor",".","Arguments","--","--","--","--","-","input_shape",":","tuple","The","expected","shape","of","the","input",".","Alternatively",",","use","``","input_size","``",".","input_size",":","int","The","expected","size","of","the","input",".","Alternatively",",","use","``","input_shape","``",".","num_groups",":","int","Number","of","groups","to","separate","the","channels","into",".","eps",":","float","This","value","is","added","to","std","deviation","estimation","to","improve","the","numerical","stability",".","affine",":","bool","A","boolean","value","that","when","set","to","True",",","this","module","has","learnable","per-channel","affine","parameters","initialized","to","ones","(","for","weights",")","and","zeros","(","for","biases",")",".","Example","--","--","--","-",">",">",">","input","=","torch.randn","(","100",",","101",",","128",")",">",">",">","norm","=","GroupNorm","(","input_size=128",",","num_groups=128",")",">",">",">","output","=","norm","(","input",")",">",">",">","output.shape","torch.Size","(","[","100",",","101",",","128","]",")"]
docstr: Returns the normalized input tensor.
  
  Arguments
  ---------
  x : torch.Tensor (batch, time, channels)
      input to normalize. 3d or 4d tensors are expected.
docstr_tok: ["Returns","the","normalized","input","tensor",".","Arguments","--","--","--","--","-","x",":","torch.Tensor","(","batch",",","time",",","channels",")","input","to","normalize",".","3d","or","4d","tensors","are","expected","."]
code: def forward(self, x):
      """Returns the normalized input tensor.
  
      Arguments
      ---------
      x : torch.Tensor (batch, time, channels)
          input to normalize. 3d or 4d tensors are expected.
      """
      x = x.transpose(-1, 1)
      x_n = self.norm(x)
      x_n = x_n.transpose(1, -1)
  
      return x_n
  
imports: import torch
  import torch.nn
label_desc: Use image node_id 2 for calling the GroupNorm obj's underlying member method code with example usage: obj.forward(x) and returns: x_n