code: def embed_input(self, feature, name, norm=True):
      fan_in = feature.shape[-1]
      bias_bound = 1.0 / math.sqrt(fan_in)
      fc_bias_attr = F.ParamAttr(
          initializer=F.initializer.UniformInitializer(
              low=-bias_bound, high=bias_bound
          )
      )
  
      negative_slope = math.sqrt(5)
      gain = math.sqrt(2.0 / (1 + negative_slope**2))
      std = gain / math.sqrt(fan_in)
      weight_bound = math.sqrt(3.0) * std
      fc_w_attr = F.ParamAttr(
          initializer=F.initializer.UniformInitializer(
              low=-weight_bound, high=weight_bound
          )
      )
  
      feature = L.fc(
          feature,
          self.embed_size,
          act=None,
          param_attr=fc_w_attr,
          bias_attr=fc_bias_attr,
          name=name + "_node_feature_encoder",
      )
  
      if norm:
          lay_norm_attr = F.ParamAttr(
              initializer=F.initializer.ConstantInitializer(value=1)
          )
          lay_norm_bias = F.ParamAttr(
              initializer=F.initializer.ConstantInitializer(value=0)
          )
          feature = L.layer_norm(
              feature,
              name=name + "_layer_norm_feature_input",
              param_attr=lay_norm_attr,
              bias_attr=lay_norm_bias,
          )
  
      return feature
  
imports: import math
  import paddle.fluid
  import paddle.fluid.layers
  from module.transformer_gat_pgl import transformer_gat_pgl
label_desc: Use image node_id 3 for calling the Proteins_label_embedding_model obj's underlying member method code with example usage: obj.embed_input(feature, name, norm) and returns: feature