code: def __init__(
      self,
      dim_in: int,
      dim_out: int,
      dtype: torch.dtype = torch.half,
      init_mean: float = 0.0,
      init_std: float = 1,
      scale_before: bool = False,
  ):
      super().__init__()
      self.dim_in = self.in_features = dim_in
      self.dim_out = self.out_features = dim_out
      self.scale_before = scale_before
  
      self.weight = bmt.DistributedParameter(
          torch.empty((dim_out, dim_in), dtype=dtype),
          init_method=bmt.ParameterInitializer(
              torch.nn.init.normal_, mean=init_mean, std=init_std
          ),
      )
  
file_path: DeepKE/example/llm/CPM-Bee/src/cpm_live/layers/linear.py
imports: import torch
  import bmtrain
  import math
  import torch.nn.functional
label_desc: Use image node_id 1 to create a new Linear object from inherited base classes: bmt with example: obj = Linear(dim_in, dim_out, dtype, init_mean, init_std, scale_before)