code: def __init__(self, a, b, bn_weight_init=1):
      super().__init__()
      self.add_sublayer("c", nn.Linear(a, b, bias_attr=False))
      bn = nn.BatchNorm1D(b)
      if bn_weight_init == 0:
          zeros_(bn.weight)
      else:
          ones_(bn.weight)
      zeros_(bn.bias)
      self.add_sublayer("bn", bn)
  
imports: import itertools
  import math
  import warnings
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddle.nn.initializer import Constant
  from paddle.nn.initializer import TruncatedNormal
  from paddle.regularizer import L2Decay
  from .vision_transformer import Identity
  from .vision_transformer import ones_
  from .vision_transformer import trunc_normal_
  from .vision_transformer import zeros_
label_desc: Use image node_id 1 to create a new Linear_BN object from inherited base classes: nn with example: obj = Linear_BN(a, b, bn_weight_init)