class_docstr: Initialize the Lightseq Transformer Encoder Layer.
  
  Static variable:
      layer_id: The layer-index counter starting from 0 and incrementing by 1 every time a layer object is instantiated,
      e.g. if a model has 24 transformer layers, layer_id goes from 0 to 23.
  Arguments:
      config: An object of LSTransformerEncoderLayer config, see get_config
  
      initial_weights: Optional: Only used for unit test
  
      initial_biases: Optional: Only used for unit test
class_docstr_tok: ["Initialize","the","Lightseq","Transformer","Encoder","Layer",".","Static","variable",":","layer_id",":","The","layer-index","counter","starting","from","0","and","incrementing","by","1","every","time","a","layer","object","is","instantiated",",","e.g",".","if","a","model","has","24","transformer","layers",",","layer_id","goes","from","0","to","23",".","Arguments",":","config",":","An","object","of","LSTransformerEncoderLayer","config",",","see","get_config","initial_weights",":","Optional",":","Only","used","for","unit","test","initial_biases",":","Optional",":","Only","used","for","unit","test"]
code: def create_cpp_layer(self):
      # create the layer in cuda kernels.
      cuda_module = transformer_cuda_module
      create_layer_func = (
          cuda_module.create_transformer_encoder_layer_fp16
          if self.config.fp16
          else cuda_module.create_transformer_encoder_layer_fp32
      )
  
      create_layer_func(
          self.config.layer_id,
          self.config.max_batch_tokens,
          self.config.max_seq_len,
          self.config.hidden_size,
          self.config.nhead,
          self.config.intermediate_size,
          self.config.attn_prob_dropout_ratio,
          self.config.activation_dropout_ratio,
          self.config.hidden_dropout_ratio,
          self.config.pre_layer_norm,
          self.config.activation_fn,
          False,  # mask_future_tokens
      )
  
imports: from itertools import zip_longest
  import math
  import copy
  import torch
  from torch import nn
  from torch.autograd import Function
  from lightseq.training.ops.pytorch.layer_base import TransformerEncoderLayerBase
  from lightseq.training.ops.pytorch.builder import TransformerBuilder
  from lightseq.training.ops.pytorch.quantization import weight_quant_config, act_quant_config, relu_quant_config
  from lightseq.training.ops.pytorch.util import copy_para, state_dict, calc_offset
label_desc: Use image node_id 3 for calling the LSTransformerEncoderLayer obj's underlying member method code with example usage: obj.create_cpp_layer() without return types