class_docstr: Applies a linear transformation to the input data
  
  Args:
      in_features (int): number of features in the input tensor
      out_features (int): number of features in the output tensor
      bias  (Optional[bool]): use bias or not
      channel_first (Optional[bool]): Channels are first or last dimension. If first, then use Conv2d
  
  Shape:
      - Input: :math:`(N, *, C_{in})` if not channel_first else :math:`(N, C_{in}, *)` where :math:`*` means any number of dimensions.
      - Output: :math:`(N, *, C_{out})` if not channel_first else :math:`(N, C_{out}, *)`
class_docstr_tok: ["Applies","a","linear","transformation","to","the","input","data","Args",":","in_features","(","int",")",":","number","of","features","in","the","input","tensor","out_features","(","int",")",":","number","of","features","in","the","output","tensor","bias","(","Optional","[","bool","]",")",":","use","bias","or","not","channel_first","(","Optional","[","bool","]",")",":","Channels","are","first","or","last","dimension",".","If","first",",","then","use","Conv2d","Shape",":","-","Input",":",":","math",":","`","(","N",",","*",",","C_","{","in","}",")","`","if","not","channel_first","else",":","math",":","`","(","N",",","C_","{","in","}",",","*",")","`","where",":","math",":","`","*","`","means","any","number","of","dimensions",".","-","Output",":",":","math",":","`","(","N",",","*",",","C_","{","out","}",")","`","if","not","channel_first","else",":","math",":","`","(","N",",","C_","{","out","}",",","*",")","`"]
code: def __repr__(self):
      repr_str = "{}(in_features={}, out_features={}, bias={}, channel_first={})".format(
          self.__class__.__name__,
          self.in_features,
          self.out_features,
          True if self.bias is not None else False,
          self.channel_first,
      )
      return repr_str
  
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 5 for calling the LinearLayer obj's underlying member method code with example usage: obj.__repr__() and returns: repr_str