class_docstr: Fused Linear layer with column parallelism.
  
  The linear layer is defined as :math:`Y = XA + b`. A is parallelized along
  its second dimension as :math:`A = [A_1, ..., A_p]`. This layer is used to fit `torch.nn.Linear` layer (Fused QKV) in normal torch layer of huggingface, like SAM.
  
  Args:
      in_features (int): size of each input sample.
      out_features (int): size of each output sample.
      bias (bool, optional): If set to ``False``, the layer will not learn an additive bias, defaults to ``True``.
      dtype (`torch.dtype`): The dtype of parameters, defaults to None.
      device (`torch.device`): The device of parameters, defaults to None.
      n_fused (int): The number items fused, defaults to 3 (QKV).
      process_group (`torch.distributed.ProcessGroup`): The process group to be used for weight sharding and communication, defaults to None.
      gather_output (bool, optional): If true, call all-gather on output and make Y available
                  to all GPUs, otherwise, every GPU will have its output
                  which is :math:`Y_i = XA_i`, defaults to False
      skip_bias_add (bool): If set to ``True``, it will skip bias add for linear layer,
          which is preserved for kernel fusion, defaults to False
      weight_initializer (`typing.Callable`):
          The initializer of weight, defaults to kaiming uniform initializer.
      bias_initializer (`typing.Callable`):
          The initializer of bias, defaults to xavier uniform initializer.
  
  More details about ``initializer`` please refer to
  `init <https://github.com/hpcaitech/ColossalAI/blob/main/colossalai/nn/init.py>`_.
class_docstr_tok: ["Fused","Linear","layer","with","column","parallelism",".","The","linear","layer","is","defined","as",":","math",":","`","Y","=","XA","+","b","`",".","A","is","parallelized","along","its","second","dimension","as",":","math",":","`","A","=","[","A_1",",","...",",","A_p","]","`",".","This","layer","is","used","to","fit","`","torch.nn.Linear","`","layer","(","Fused","QKV",")","in","normal","torch","layer","of","huggingface",",","like","SAM",".","Args",":","in_features","(","int",")",":","size","of","each","input","sample",".","out_features","(","int",")",":","size","of","each","output","sample",".","bias","(","bool",",","optional",")",":","If","set","to","``","False","``",",","the","layer","will","not","learn","an","additive","bias",",","defaults","to","``","True","``",".","dtype","(","`","torch.dtype","`",")",":","The","dtype","of","parameters",",","defaults","to","None",".","device","(","`","torch.device","`",")",":","The","device","of","parameters",",","defaults","to","None",".","n_fused","(","int",")",":","The","number","items","fused",",","defaults","to","3","(","QKV",")",".","process_group","(","`","torch.distributed.ProcessGroup","`",")",":","The","process","group","to","be","used","for","weight","sharding","and","communication",",","defaults","to","None",".","gather_output","(","bool",",","optional",")",":","If","true",",","call","all-gather","on","output","and","make","Y","available","to","all","GPUs",",","otherwise",",","every","GPU","will","have","its","output","which","is",":","math",":","`","Y_i","=","XA_i","`",",","defaults","to","False","skip_bias_add","(","bool",")",":","If","set","to","``","True","``",",","it","will","skip","bias","add","for","linear","layer",",","which","is","preserved","for","kernel","fusion",",","defaults","to","False","weight_initializer","(","`","typing.Callable","`",")",":","The","initializer","of","weight",",","defaults","to","kaiming","uniform","initializer",".","bias_initializer","(","`","typing.Callable","`",")",":","The","initializer","of","bias",",","defaults","to","xavier","uniform","initializer",".","More","details","about","``","initializer","``","please","refer","to","`","init","<","https",":","\/\/github.com\/hpcaitech\/ColossalAI\/blob\/main\/colossalai\/nn\/init.py",">","`","_","."]
code: def reset_parameters(
      self, weight_initializer, bias_initializer
  ) -> None:
      with self.randomizer.fork_rng(enable_cpu=True):
          fan_in, fan_out = self.in_features, self.out_features
          weight_initializer(
              self.weight, fan_in=fan_in, fan_out=fan_out
          )
          if self.bias is not None:
              bias_initializer(self.bias, fan_in=fan_in)
  
imports: import math
  from typing import Callable, List, Optional, Tuple, Union
  import torch
  import torch.distributed
  import torch.nn
  from torch import Tensor
  from torch.distributed import ProcessGroup
  from torch.nn.parameter import Parameter
  from colossalai.lazy import LazyInitContext
  from colossalai.nn import init
  from colossalai.nn.layer.utils import divide
  from colossalai.tensor.d_tensor.api import customized_distributed_tensor_to_existing_param, distribute_tensor_with_customization, is_customized_distributed_tensor, is_distributed_tensor, shard_rowwise, sharded_tensor_to_existing_param
  from ._operation import gather_forward_split_backward, linear_reducescatter_forward_gather_backward, linear_with_async_comm, matmul_gather_forward_reducescatter_backward, matmul_with_async_comm, reduce_backward, reduce_forward, split_forward_gather_backward
  from .parallel_module import ParallelModule
  from .utils import create_randomizer_with_offset
label_desc: Use image node_id 3 for calling the FusedLinear1D_Col obj's underlying member method code with example usage: obj.reset_parameters(weight_initializer, bias_initializer) without return types