code: def get_fairseq_enc_params(fairseq_layer):
      initial_weights = []
      initial_biases = []
      if hasattr(fairseq_layer.self_attn, "qkv_proj"):
          hidden_size = fairseq_layer.self_attn.out_proj.weight.shape[0]
          initial_weights.extend(
              fairseq_layer.self_attn.qkv_proj.weight.detach()
              .clone()
              .split(hidden_size, 0)
          )
          initial_biases.extend(
              fairseq_layer.self_attn.qkv_proj.bias.detach()
              .clone()
              .split(hidden_size, 0)
          )
      else:
          initial_weights.append(
              fairseq_layer.self_attn.q_proj.weight.detach().clone()
          )
          initial_biases.append(
              fairseq_layer.self_attn.q_proj.bias.detach().clone()
          )
          initial_weights.append(
              fairseq_layer.self_attn.k_proj.weight.detach().clone()
          )
          initial_biases.append(
              fairseq_layer.self_attn.k_proj.bias.detach().clone()
          )
          initial_weights.append(
              fairseq_layer.self_attn.v_proj.weight.detach().clone()
          )
          initial_biases.append(
              fairseq_layer.self_attn.v_proj.bias.detach().clone()
          )
      initial_weights.append(
          fairseq_layer.self_attn.out_proj.weight.detach().clone()
      )
      initial_biases.append(
          fairseq_layer.self_attn.out_proj.bias.detach().clone()
      )
      initial_weights.append(
          fairseq_layer.self_attn_layer_norm.weight.detach().clone()
      )
      initial_biases.append(
          fairseq_layer.self_attn_layer_norm.bias.detach().clone()
      )
  
      initial_weights.append(fairseq_layer.fc1.weight.detach().clone())
      initial_biases.append(fairseq_layer.fc1.bias.detach().clone())
      initial_weights.append(fairseq_layer.fc2.weight.detach().clone())
      initial_biases.append(fairseq_layer.fc2.bias.detach().clone())
      initial_weights.append(
          fairseq_layer.final_layer_norm.weight.detach().clone()
      )
      initial_biases.append(
          fairseq_layer.final_layer_norm.bias.detach().clone()
      )
  
      clip_max = torch.stack(
          [
              fairseq_layer.self_attn.qkv_proj.input_quant.clip.clip_value_max.detach().clone(),
              fairseq_layer.self_attn.qkv_proj.weight_quant._amax.detach().clone(),
              fairseq_layer.self_attn.qkv_proj.output_quant._amax.detach().clone(),
              fairseq_layer.self_attn.out_proj.input_quant.clip.clip_value_max.detach().clone(),
              fairseq_layer.self_attn.out_proj.weight_quant._amax.detach().clone(),
              fairseq_layer.self_attn.out_proj.output_quant._amax.detach().clone(),
              fairseq_layer.fc1.input_quant.clip.clip_value_max.detach().clone(),
              fairseq_layer.fc1.weight_quant._amax.detach().clone(),
              fairseq_layer.fc1.output_quant._amax.detach().clone(),
              fairseq_layer.fc2.input_quant.clip.clip_value_max.detach().clone(),
              fairseq_layer.fc2.weight_quant._amax.detach().clone(),
              fairseq_layer.fc2.output_quant._amax.detach().clone(),
              # torch.tensor(16).to(
              #     fairseq_layer.self_attn.qkv_proj.input_quant.clip.clip_value_max
              # ),
          ]
      )
  
      initial_weights.append(clip_max)
      return initial_weights, initial_biases
  
imports: import random
  import time
  from collections import OrderedDict
  import numpy
  import torch
label_desc: Use image node_id 3 for calling a global function with example usage: get_fairseq_enc_params(fairseq_layer) and returns: initial_weights,  initial_biases