class_docstr: Applies a GroupLinear transformation layer, as defined `here <https://arxiv.org/abs/1808.09029>`_,
  `here <https://arxiv.org/abs/1911.12385>`_ and `here <https://arxiv.org/abs/2008.00623>`_
  
  Args:
      in_features (int): number of features in the input tensor
      out_features (int): number of features in the output tensor
      n_groups (int): number of groups
      bias (Optional[bool]): use bias or not
      feature_shuffle (Optional[bool]): Shuffle features between groups
  
  Shape:
      - Input: :math:`(N, *, C_{in})`
      - Output: :math:`(N, *, C_{out})`
class_docstr_tok: ["Applies","a","GroupLinear","transformation","layer",",","as","defined","`","here","<","https",":","\/\/arxiv.org\/abs\/1808.09029",">","`","_",",","`","here","<","https",":","\/\/arxiv.org\/abs\/1911.12385",">","`","_","and","`","here","<","https",":","\/\/arxiv.org\/abs\/2008.00623",">","`","_","Args",":","in_features","(","int",")",":","number","of","features","in","the","input","tensor","out_features","(","int",")",":","number","of","features","in","the","output","tensor","n_groups","(","int",")",":","number","of","groups","bias","(","Optional","[","bool","]",")",":","use","bias","or","not","feature_shuffle","(","Optional","[","bool","]",")",":","Shuffle","features","between","groups","Shape",":","-","Input",":",":","math",":","`","(","N",",","*",",","C_","{","in","}",")","`","-","Output",":",":","math",":","`","(","N",",","*",",","C_","{","out","}",")","`"]
code: def add_arguments(cls, parser: argparse.ArgumentParser):
      parser.add_argument(
          "--model.layer.group-linear-init",
          type=str,
          default="xavier_uniform",
          help="Init type for group linear layers",
      )
      parser.add_argument(
          "--model.layer.group-linear-init-std-dev",
          type=float,
          default=0.01,
          help="Std deviation for group linear layers",
      )
      return parser
  
imports: import argparse
  from typing import Optional
  import torch
  from torch import Tensor, nn
  from torch.nn import functional
  from cvnets.layers.base_layer import BaseLayer
  from utils import logger
label_desc: Use image node_id 2 for calling the GroupLinear obj's underlying member method code with example usage: obj.add_arguments(cls, parser) and returns: parser